既に『乗算済みアルファ』のページをご覧になっていただいたとのことで不要かもしれませんが、
一応私のほうでも Pikaさんのコードを『乗算済みアルファ』を使用した場合のものに変更してみました
DX_BLENDMODE_PMA_ALPHA の他にフォントハンドルの場合は SetFontCacheUsePremulAlphaFlag( TRUE ); も
使用する必要がありますのでご注意ください m(_ _)m
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
SetGraphMode(640, 360, 32); // まず、画面サイズ(バックバッファ)設定はこれを使いましょう
ChangeWindowMode(TRUE);
if (DxLib_Init() == -1) // DXライブラリ初期化処理
return -1; // エラーが起きたら直ちに終了
int stringScreen = MakeScreen(400, 100, TRUE);
int drawScreen = MakeScreen(250, 100, TRUE);
// 乗算済みアルファのフォントハンドルを作成する指定を行う
SetFontCacheUsePremulAlphaFlag( TRUE );
int handle = CreateFontToHandle("MS ゴシック", 20, 2, DX_FONTTYPE_ANTIALIASING_EDGE_8X8);
// 文字スクリーンに描画
SetDrawScreen(stringScreen);
ClearDrawScreen();
// 乗算済みアルファ用アルファブレンドのブレンドモードに設定する
SetDrawBlendMode( DX_BLENDMODE_PMA_ALPHA, 255 );
DrawFormatStringToHandle(0, 0, GetColor(255, 255, 255), handle, "%s", "ようこそ 世界");
// 文字スクリーンを描画用スクリーンにずらして描画
SetDrawScreen(drawScreen);
ClearDrawScreen();
// 乗算済みアルファ用アルファブレンドのブレンドモードに設定する
SetDrawBlendMode( DX_BLENDMODE_PMA_ALPHA, 255 );
DrawGraph(-30, 0, stringScreen, TRUE);
// 裏画面に描画
SetDrawScreen(DX_SCREEN_BACK);
// 描画結果が分かりやすいように裏画面をグレーでクリアする
DrawBox( 0, 0, 640, 360, GetColor( 128,128,128 ), TRUE );
// 乗算済みアルファ用アルファブレンドのブレンドモードに設定する
SetDrawBlendMode( DX_BLENDMODE_PMA_ALPHA, 255 );
DrawGraph(130, 100, drawScreen, TRUE);
DrawFormatStringToHandle(100, 200, GetColor(255, 255, 255), handle, "%s", "ようこそ 世界"); // 比較用
ScreenFlip();
WaitKey(); // キー入力待ち
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}