タイトル : 読み込んだ画像の縮小表示について 投稿日 : 2014/11/28(Fri) 15:26 投稿者 : マサタロウ
VBは数年前から勉強しています。 ExcelのVBAの資格(APIなし最初の)を取得しています。 自作のビューアーで、以下のページの方法を利用して 読み込んだ画像を縮小表示させています。 http://www.gizcollabo.jp/vbtomo/log/archive/vbqanda_29433_0.html 画像の縮小表示はうまくできましたが、縮小表示後に 画像の右と下に黒い線の様な部分が表示される場合があります。 表示されない場合もあります。 上記ページにある「SetBrushOrgEx」関数を使用しても変化ありません。 MIcrosoftのページで検索すると、「SetBrushOrgEx」関数は 「SetStretchBltMode」関数を呼び出したら「SetBrushOrgEx」関数を 呼び出すべきとあります。 http://msdn.microsoft.com/ja-jp/library/cc410586.aspx 「SetBrushOrgEx」関数の使用方法が間違っているか確認したいです。 縮小表示は、ビューアーの画面より大きいサイズの画像ファイルを 読み込んだ場合のみ、ビューアーの画面内に収まるようにPictureBoxの サイズを変更してから縮小表示しています。 ビューアー画面用のPictureBoxの中に縮小表示用のPictureBoxを 貼り付けて縮小表示させています。 ↓API関数の宣言 Public Declare Function SetBrushOrgEx Lib "gdi32.dll" _ (ByVal hdc As Long, ByVal nXOrg As Long, ByVal nYOrg As Long, _ ByVal lppt As Long) As Long ↓関数のコード ret = SetBrushOrgEx(Picture99.hdc, 0, 0, 0) … 変数"ret"は宣言セクションで宣言(Variant) |