Windowsゲームプログラミング 質問スレat GAMEDEVWindowsゲームプログラミング 質問スレ - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト443:名前は開発中のものです。 07/04/10 14:54:44 vLrZjUJE そのDIBについて質問なんですが、 VC6.0+SDKでRPGなんぞを作れたらと思って、始めたのですが、マップチップ 用画像を24ビットDIB(横128×縦32)で作り、それを1チップ縦×横32ピクセル 単位で読み込ませようと思ってまして、任意の位置のピクセルを切り分けて、バッファか何かに移す方法っ てあるのですかね? 縦に並べたチップだったら、普通に読み込めたんですが、横に並べたら 計算式が違っていたのか、複数の画像が混ざった状態?になってしまいました。 そこで、一度、バッファを用意し、そこに一ライン毎に元画像(PBits) から、読ませていこうと考え、以下の通りにソースを書いてみたんです。 444:名前は開発中のものです。 07/04/10 14:58:28 vLrZjUJE BYTE *dummybuf,MapChip[4]; * BYTE *PBitsは元のマップチップ用画像のピクセルデータが入ってます。 dummybuf=(BYTE *)GlobalAlloc(GPTR,32*32*3*4); //チップ用メモリキープ for(x=0; x<4; x++){ MapChip[chipbuf_x]=(BYTE *)GlobalAlloc(GPTR,32*32*3); } //元の画像(PBits)から、一時的にdummybufに読み込ませる for(count=0; count<32; count++){ //1ライン(32ピクセル)ごとに読み込ませる memcpy(dummybuf+(count*32*3),PBits+count*128*3,32*3); } //1チップ目 for(count=0;count<32;count++){ memcpy(dummybuf+(count*32*3+32*32*3),PBits+32*3+count*128*3,32*3); } //2チップ目 ~~以下省略~~ //dummybufに読み込んだマップチップ画像をMapChip[]に移す。 for(pre=0; pre<4; pre++){ memcpy(MapChip[pre],dummybuf+pre*32*32*3,32*32*3); } イメージとしては、以下の通りなんですが… PBits↓ dummybuf _____________ ↓ |__|__|__|__| → __ |__| ←MapChip[0] |__| ← " [1] |__| ← " [2] |__| ← " [3] このように、元画像から、縦方向の画像に移し変えて読み込みたいという訳です。 もちろん、直接元画像からチップとして、普通にMapChip[]内に 収められれば、 一番良いのですが… 解り辛い文章で申し訳ありませんが、どなたか教えて頂け ないでしょうか? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch