画像ファイルの印刷方法

返信する


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

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

トピックのレビュー
   

展開ビュー トピックのレビュー: 画像ファイルの印刷方法

by 初心者13号 » 2007年10月19日(金) 01:10

>>StretchDIBits()にはBITMAP構造体ではなくBITMAPINFO構造体
いろいろな構造体が有り、相互関係がわからなくなってコードが書けないので苦戦しています。
構造体って聞くと、拒否反応を示しながら使っている所が有るもんで・・・

>>そもそもStretchBlt()を使うのでは駄目なのですか?
こちらの方が簡単そうですね。
教えて頂いたAPIを試してから、勉強の為にStretchDIBitsを使ってみます。

by NoWest » 2007年10月19日(金) 00:43

StretchDIBits()にはBITMAP構造体ではなくBITMAPINFO構造体
(256色以下でなければBITMAPINFOHEADER構造体)を渡さないといけません。
あと、パラメータのlpBitsにはデバイスコンテキストではなくBITMAP構造体のbmBitsメンバを指定しないといけません。


と、いうより
そもそもStretchBlt()を使うのでは駄目なのですか?
メモリデバイスコンテキスト使っている辺りを見るとこちらが使いたいAPIなのではないかと思います。

by 初心者13号 » 2007年10月18日(木) 19:26

実寸?(BitBltを使っての)印刷には成功しました。
StretchDIBitsを使ってリサイズする所で困っています。
lpBits(DIB のビットデータが格納されているバッファへのポインタ)の指定に
問題があると思うのですが、正しい指定方法がわかりません。

どなたか、助けてください。 VB.NETだと にて印刷できるんですね。(JPEGも可能)
恐ろしい・・・・

by 初心者13号 » 2007年10月15日(月) 18:26

いろいろ調べましたがPNGが難しそうなので、外部DLLの力を借りてBMPに変換する事にしました。
(将来はDLLに頼りたくないので、ファイル変換部のみDLLを使用。)
変換後に、BMPを読み込みます。
おそらく、上記でBMPがメモリ上に読み込まれていると思います。

このあと、StretchDIBits() にてリサイズしながらプリンタのデバイス コンテキストに渡せば良いさそうなのですが、行き詰まってしまいました。
印刷方法を教えてください。

画像ファイルの印刷方法

by 初心者13号 » 2007年10月12日(金) 11:26

ウィンドウを持たないEXEかDLLでJPGやPNGファイルを読み込み、印刷するプログラムを作りたいのですが、画像ファイルの読み方と印刷方法を教えてください。

WinXpでは、下記のコードで足りていました。
WinVistaでは画像の上下の一部が切れてしまい、どうしてもうまく印刷できないので、shimgvw.dllに代わるソフトを作るしか無いと思っていますが、さっぱりわかりません。

ページトップ