• ベストアンサー

ピクチャーボックスの画像を印刷・BMPで保存したい

ピクチャーボックスの画像を印刷・BMPで保存したいのですがどうやったらいいのかわかりません誰か教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.4

きっとAutoRedrawがFalseのためでは? Picture1.Refresh Call SavePicture(Picture1.Image, "c:\test.bmp") としてあげてみてください

ryuta_mo
質問者

お礼

やっとできました ありがとうございます

その他の回答 (3)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.3

>プロパティの値が不正 おそらく画像を読み込んでいないピクチャボックスを保存しようとしたためだと思います。 何か画像が読み込まれていたならば、エラーはでません。 もし、Picuterが存在しないピクチャボックスを保存するなら Call SavePicture(Picture1.Image, "c:\test.bmp") としてあげたらよいと思います。

ryuta_mo
質問者

補足

やってみたら保存はされましたが何も表示されてませんでした ピクチャーボックスにはちゃんと描画されてます あとできれば白黒で保存したいのですが出来ますか?

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

それじゃあ、印刷を。 '(General)(Declarations) 'APIの宣言 Option Explicit Private Declare Function StretchBlt Lib "gdi32" _   (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long _   , ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long _   , ByVal dwRop As RasterOpConstants) As Long 'Picture1をクリックすると、プリンタでPicture1を印刷する。 Private Sub Picture1_Click()   Printer.PSet (0, 0), vbWhite  '*1   StretchBlt Printer.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight _   , Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight _   , vbSrcCopy '*2   Printer.EndDoc End Sub ******** (General)(Declarations)の中身については先の回答↓ http://www.okweb.ne.jp/kotaeru.php3?q=168025 と同じですね。 で、今回はピクチャーボックスをクリックしたときに、印刷するようにしてみました。 *1: APIを使って画像を転送する前に、一度プリンタを初期化しています。これより前に、Printer.Lineなどでプリンタに何か描画をしていれば、この行は無くても構いません。 *2: StretchBLTを使って、ピクチャーボックスの画像をプリンタに転送しています。 「StretchBLT」APIは、以下のように引数を指定します。 StretchBLT 複写先のオブジェクトのhDCプロパティ, 複写先のX座標, Y座標, 幅, 高さ, 複写元オブジェクトのhDCプロパティ, 複写元のX座標, Y座標, 幅, 高さ, 転送モード 転送モードについては、とりあえずは、vbSrcCopyを指定すると画像をコピーするっていうことだけ覚えておけばいいかと。 先の回答と同じく、質問等ありましたら補足などにお書きください。

ryuta_mo
質問者

お礼

そのままではできなかったけど色々手を加えたら出来ました ありがとうございました

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

とりあえず、保存だけ書いておきます。 Call SavePicture(Picture1.Picture, "c:\test.bmp")

ryuta_mo
質問者

補足

そのまま入力したけどプロパティの値が不正ですと出ました 何故でしょう

関連するQ&A

  • ピクチャーボックス上に描いた円をうまく保存できません

    1.予めピクチャーボックスに画像を表示しておき 2.そのピクチャーボックス内に円を描き↓ Picture1.Circle (10, 10), 500 3.それら両方(1で予め表示しておいた画像と、2で描いた円)を保存しようと↓ SavePicture Picture1.Image, App.Path & "\Test.bmp" とすると、1で予め表示しておいた画像だけが保存され、2で描いた円が保存されません。 両方とも(1で予め表示しておいた画像の上に2で描いた円が表示されるように)保存したいのですが、どのようにすればよいでしょうか。 できれば具体的にサンプルコードなどをご教授いただけると大変ありがたく存じます。 恐れ入りますが、何卒よろしくお願いいたします(VB6.0)

  • ピクチャボックスに描画した画像の保存

    VB6.0にて、 http://www.uploda.org/uporg898462.jpg このようなものを作成しました。 折れ線グラフはプログラムにて後から描画したもの、 それ以外の目盛りなどは最初からピクチャボックスに描画してあるものです。 pic1,pic2は共にピクチャボックスです。 赤い線で囲まれたpic1を目盛り、グラフ、その他のテキストボックスや文字と共に画像として保存したいのですが、 SavePicture Pic1.Image, "C:\SaveTest2.bmp" とすると、pic1の大きさの、何も描画されていない真っ白な画像が保存されてしまいます。 また、SavePicture Pic2.Image, "C:\SaveTest2.bmp" (pic2の保存) とすると、折れ線グラフのみが描画され、目盛りは無くなった画像が保存されてしまいます。 2つのピクチャ共にAutoRedraw=Trueを設定しています。 pic1を上手く保存する方法は無いでしょうか? ご教授、お願いします。

  • パブリックのピクチャへの画像保存について

    Windows7 パブリックのピクチャへの画像保存について  Windows7にアップグレードしました。とても快調ですか、画像の問題で困っています。どなたかご教授下さい。  パブリックのピクチャに画像を保存するとき、ファイルの種類の欄に.bmpしか表示されません。また.jpgで保存するにはファイルに.jpgを付ければ保存できますが画像か表示されません。

  • ピクチャボックス内のコントロールを印刷

    VB6の質問です。 ピクチャボックスの内容を印刷したいのですがうまくいきません。 いろいろ調べてみたら文字とか画像は印刷方法あるみたいですけど ピクチャボックス内のテキストボックスやオプションボタンを印刷する方法がわかりません、、、 PaintPictureでやると白紙の状態で印刷されます。 なにかいい方法はありますでしょうか、、、

  • ピクチャーボックスの画像が欠けてしまいます。

    VB.NETとWinXPなのですが、 コマンドボタンを押して、ファイルダイアログボックスを開いて jpgファイルを指定するとピクチャーボックスにその 画像が表示されるようなものをつくっているのですが、 ピクチャーボックスの上に出るファイルダイアログボックスが重なっていた部分だけ画像が欠けてしまいます。 Picturebox1.Refresh()かなと思って試してみたのですが、今度は全部消えてしまいました。 良い方法があったら教えて頂きたいです。 よろしくお願いします。

  • 画像を保存するとき何故か.bmpになります

    ネット上にある写真を [右クリック]→[画像に名前をつけて保存] すると その写真はjpgなのに、なぜかbmpによる保存しか できなくて困っています。 保存した写真を.bmpから.jpgにかえても意味ないようです。 .bmpで保存した画像は フォトショップでひらけません。 右クリックして保存しようとしたときに.jpgなど その写真の形式で保存したいのですが どうすればいいのでしょうか。。 このような場合はどこかで設定が必要なのでしょうか? もし、お分かりならば教えてください。よろしくお願いします。

  • 画像がBMPでしか保存できません!

    ネットで画像を保存するとBMP以外選べないです。 GIFやJPGどの形式のものでもBMPになってしまいます。 なにが変わってしまったんでしょうか? XPです。

  • デジカメで撮った写真をピクチャに2枚保存しました。その2枚の画像を1枚

    デジカメで撮った写真をピクチャに2枚保存しました。その2枚の画像を1枚の用紙に印刷したいのですが方法がわかりません。 ピクチャの画面の印刷を押すとプレビュー画面になりますが1枚の画像しか選択出来ません。 何とか2つの画像を1枚で印刷したいのですが・・・ Windows Home Premium Vistaです。よろしくお願いします。

  • 画像をbmpでしか保存できない

    winXPを使ってるんですが、 ウェブ上の画像を保存しようとすると、元の画像がgifだろうがjpgだろうが、bmpでしか保存できません。 でも全ての画像に対してというワケでもないんです。 gifのまま保存できるものもあったりします。 何か設定がおかしいのでしょうか? 全て元画像のままのファイル形式で保存できるようにするには、どうすればよいか教えてください。

  • 画像保存がBMPでしか保存できない。

    以前JPEGやGIF保存出来たのに急にBMPでしか画像保存が出来なくなりました。Officeはインストールされています。どういう原因が考えられますか?

専門家に質問してみよう