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を指定すると画像をコピーするっていうことだけ覚えておけばいいかと。
先の回答と同じく、質問等ありましたら補足などにお書きください。
No.3
- 回答日時:
>プロパティの値が不正
おそらく画像を読み込んでいないピクチャボックスを保存しようとしたためだと思います。
何か画像が読み込まれていたならば、エラーはでません。
もし、Picuterが存在しないピクチャボックスを保存するなら
Call SavePicture(Picture1.Image, "c:\test.bmp")
としてあげたらよいと思います。
この回答への補足
やってみたら保存はされましたが何も表示されてませんでした
ピクチャーボックスにはちゃんと描画されてます
あとできれば白黒で保存したいのですが出来ますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Web画面の文字をVB6で取得したい
-
Excel 範囲指定スクショについ...
-
VBA 入力箇所指定方法
-
【VBA】カーソルのある行の1行...
-
VBA ユーザーフォーム ボタンク...
-
エクセルVBAにて =A1=B1とすれ...
-
【ExcelVBA】インデックスが有...
-
Excelについて
-
VBA 別ブックからコピペしたい...
-
VBA 別ブックから条件に合うも...
-
配列のペースト出力結果の書式...
-
Excelで画像URLを1つずつセル...
-
Excel VBA 文字列のセルを反映...
-
VBA 指定した回数分、別シート...
-
ExcelVBAのFindFirstエラ...
-
VBA 複数の各シートに行を追加...
-
10行目にフィルターを使用して...
-
Outlookの「受信日時」「件名」...
-
Excel VBAで値を変えながら、pd...
-
メールの件名をデコードしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FlexGridで文字色を変更。
-
Matlab/SimulinkのChirp信号に...
-
SavePictureで保存できない
-
画像処理について。(移動)
-
ボールが壁に当たって跳ね返る...
-
PictureBoxでのアニメーション...
-
VBによる回帰直線のプログラム
-
Matlabでsin波を使って矩形波を...
-
画像処理
-
Picture box の サイズを変更
-
SCALEの使い方教えてください
-
もぐらたたきのプログラミング
-
ピクチャボックスの使用方法
-
VB6でマウスのドラッグで範囲を...
-
ピクチャーボックスの画像を印...
-
マウスポインタの変更
-
違いを教えてください。
-
VB4.0で画像のサムネイル方法
-
VBで問題集を作りたい
-
picture boxの画像をimageに上...
おすすめ情報