トップページ > 過去ログ > 記事閲覧
FillSoftImageの動作について
名前:いっち 日時: 2010/03/26 21:54

いつもお世話になっております。 FillSoftImageを使用してみたのですが、Redとαチャンネルの情報が SoftImageに対して正しく反映されていないように見受けられました。 お忙しいとは思いますが、修正をお願いします。 もし、使用法や解釈に誤りがございましたらご指摘下さい。 ライブラリは3.02を使用しております。 ご確認のほど、よろしくお願いします。 //-- テストソース (Tex1.bmpを使用) --// #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode( TRUE ); if ( DxLib_Init( ) == -1 ) return -1; SetDrawScreen( DX_SCREEN_BACK ); int ColStr = GetColor( 255, 255, 255 ); int ColBack = GetColor( 32, 32, 32 ); int ImgFile = LoadSoftImage( "tex1.bmp" ); // 透過情報の存在するファイルを読み込むと、ARGBと同じ結果になる int ImgARGB = MakeARGB8ColorSoftImage( 64, 64 ); int ImgXRGB = MakeXRGB8ColorSoftImage( 64, 64 ); FillSoftImage( ImgFile, 255, 255, 255, 128 ); // 白、半透明 FillSoftImage( ImgARGB, 255, 255, 255, 128 ); FillSoftImage( ImgXRGB, 255, 255, 255, 128 ); DrawLineSoftImage( ImgFile, 0, 0, 64, 64, 255, 255, 255, 64 ); // DrawLineは問題ない模様 DrawLineSoftImage( ImgARGB, 0, 0, 64, 64, 255, 255, 255, 64 ); DrawLineSoftImage( ImgXRGB, 0, 0, 64, 64, 255, 255, 255, 64 ); int ghFile = CreateGraphFromSoftImage( ImgFile ); int ghARGB = CreateGraphFromSoftImage( ImgARGB ); int ghXRGB = CreateGraphFromSoftImage( ImgXRGB ); while ( ProcessMessage( ) == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ) { ClearDrawScreen( ); DrawBox( 0, 0, 640, 480, ColBack, TRUE ); DrawGraph( 0, 0, ghFile, TRUE ); // File(1) DrawGraph( 80, 0, ghFile, FALSE ); // File(2) DrawGraph( 160, 0, ghARGB, TRUE ); // ARGB(1) ... 完全に透過してしまう DrawGraph( 240, 0, ghARGB, FALSE ); // ARGB(2) ...白くならない DrawGraph( 320, 0, ghXRGB, TRUE ); // XRGB(1) ...白くならない DrawGraph( 400, 0, ghXRGB, FALSE ); // XRGB(2) DrawString( 0, 64, "FILE 1 2 ARGB 1 2 XRGB 1 2", ColStr ); ScreenFlip( ); } DxLib_End( ); return 0; }

Page: 1 |

Re: FillSoftImageの動作について ( No.1 )
名前:管理人 日時:2010/03/29 06:53

ご報告ありがとうございます 現象を確認しました こうすべきところ ↓ *( ( DWORD * )Dest ) = ( DWORD )Color ; を *( ( DWORD * )Dest ) = ( WORD )Color ; こうしていました orz ( DWORD を WORD にしたせいで上位16ビットが常に0に・・・ ) 修正版をアップしましたので、よろしければお使い下さい m(_ _;m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
Re: FillSoftImageの動作について ( No.2 )
名前:いっち 日時:2010/03/29 20:09

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

Page: 1 |