トップページ > 過去ログ > 記事閲覧
BltSoftImageについて
名前:Thaz 日時: 2012/09/07 22:16

意図は「temp1の画像の指定領域をtemp2へ転送してtemp2から分割画像を取得する」というものです。 インデックスカラー形式の 768x816 のPNG画像があるとして、 以下のようなプログラムを組みましたが、 BltSoftImageのsrcX, srcYなどの引数をいくら変えても転送元の左上端は0,0になってしまいます。 これが最小コードではなかったらすみません。 int array1[ 2448 ] ; int array2[ 2448 ] ; int r, b, g ; int temp1, temp2 ; temp1 = loadSoftImage( "Gra.png" ) ; CreateDivGraphFromSoftImage( temp1, 2448, 48, 51, 16, 16, array1 ) ; temp2 = MakePAL8ColorSoftImage( 768, 816 ) ; for ( int i = 0 ; i < 256 ; i ++ ) { GetPaletteSoftImage( temp1, i, &r, &g, &b, 0 ) ; SetPaletteSoftImage( temp2, i, r, g, b, 0 ) ; } BltSoftImage( 512, 464, 256, 320, temp1, 0, 0, temp2 ) ; CreateDivGraphFromSoftImage( temp2, 2448, 48, 51, 16, 16, array2 ) ; DeleteSoftImage( temp1 ) ; DeleteSoftImage( temp2 ) ;

Page: 1 |

Re: BltSoftImageについて ( No.1 )
名前:いっち 日時:2012/09/08 15:20

私の環境でも再現しました。 どういった理屈か分かりませんが GetPaletteSoftImage と SetPaletteSoftImage を 行うループをコメントにすると事象に変化がありました。 私の使用したテストコードとデータです。 > h t t p : / / w w w1.axfc.net/uploader/Sc/so/376448.zip&key=dxlib
Re: BltSoftImageについて ( No.2 )
名前:Thaz 日時:2012/09/08 19:17

>> いっち 様 コメントありがとうございます。 ご指摘の通り、GetPaletteSoftImage と SetPaletteSoftImage をコメントアウトすると上手くいくのですが、低速になってしまいますよね。 質問しておいて申し訳ないですが、 結局この方法は使わないことにしました^_^; ですので、バグ?かもしれない、ということで ご報告という形にさせていただきます。
Re: BltSoftImageについて ( No.3 )
名前:管理人 日時:2012/09/09 08:21

すみません、「8ビットカラーでパレット情報が等しい画像同士」の画像転送処理で 転送元、転送先の座標が全く考慮されていませんでした orz 修正版をアップしましたので、もしご必要になりましたらお使いください m(_ _;m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい) > いっちさん テストコードのご提供ありがとうございます
Re: BltSoftImageについて ( No.4 )
名前:いっち 日時:2012/09/16 15:14

修正確認しました。対応ありがとうございます。

Page: 1 |