GDI+で色々な形式の画像を表示

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: GDI+で色々な形式の画像を表示

by ShellExecute » 2013年1月16日(水) 18:55

連続ですみません

上記コードの説明3個目
・GDIPSavePNG(FilePath As BytePtr,hBmp As HBITMAP,Quality As Long)
PNを保存

とありますが、正しくは
・GDIPSaveJPG(FilePath As BytePtr,hBmp As HBITMAP,Quality As Long)
JOGを保存

です。失礼しました。

ありがとうございます!

by ShellExecute » 2013年1月16日(水) 18:50

気がついたら返信頂いていました。

hiraさん、本当にありがとうございます!

ご指摘の通りコードを改良し、さらに別サイトの情報も参考にしたところ、GDI+で画像の読み書きができるようになりました。

といってもGDI+を理解したわけではないので、今のところ

・GIF、PNG、JPG、BMPなどの読み込み
・JPGの出力(品質指定可能)
・PNGの出力(詳細設定不可)

しかできません。

でもPNGを扱えるのでゲームを作る際に容量を削減できるようになりました。

↓読み込み ↓保存 ・Function GDIPLoadPicture(FilePath As BytePtr) As HBITMAP
画像を読み込み
FilePath…ファイルパス
戻り値…ビットマップハンドル

・GDIPSavePNG(FilePath As BytePtr,hBmp As HBITMAP)
PNGを保存(上書き)
FilePath…保存先ファイルパス
hBmp…ビットマップハンドル

・GDIPSavePNG(FilePath As BytePtr,hBmp As HBITMAP,Quality As Long)
PNGを保存(上書き)
FilePath…保存先ファイルパス
hBmp…ビットマップハンドル
Quality…品質(0~100?)

↓使用例 参考
http://www31.ocn.ne.jp/~heropa/vb42.htm
http://hpcgi1.nifty.com/MADIA/VBBBS2/ww ... 080012.txt

Re: GDI+で色々な形式の画像を表示

by hira » 2013年1月14日(月) 01:18

ここのフォーラムも超久しぶりです。

GDI+のファイル名指定はUnicodeでやらないとだめなようです。
MultiByteToWideChar(CP_ACP, ...) で Shift-JIS → Unicode の変換ができます。

GDI+で色々な形式の画像を表示

by ShellExecute » 2012年12月10日(月) 13:01

http://www31.ocn.ne.jp/~heropa/vb42.htm
↑のページのコードをABに移植すればimgctl.dllなどの外部DLLなしでPNGやJPGを読めるんじゃないか、と思ってコードを作ってみました。

しかし、私VBに一度も触れたことが無いので上手くできていないのか、何も表示されません。

どなたか間違いの指摘をお願いします。

以下に私のコードを載せておきます。ややこしいのでエラーメッセージ取得の部分は省いてありますが
DEBUG_A、DEBUG_Bの箇所で調べるとどちらも
「指定されたファイルが見つかりません」
とでてきます。

ファイルパスの部分は相対パス絶対パスともに試しました。

画像は手元にあったpng、jpg、bmpで試しました。

ページトップ