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

このQ&Aに関連する最新のQ&A

A 回答 (4件)

きっとAutoRedrawがFalseのためでは?



Picture1.Refresh
Call SavePicture(Picture1.Image, "c:\test.bmp")
としてあげてみてください
    • good
    • 1
この回答へのお礼

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

お礼日時:2001/11/14 17:51

>プロパティの値が不正



おそらく画像を読み込んでいないピクチャボックスを保存しようとしたためだと思います。
何か画像が読み込まれていたならば、エラーはでません。

もし、Picuterが存在しないピクチャボックスを保存するなら
Call SavePicture(Picture1.Image, "c:\test.bmp")
としてあげたらよいと思います。

この回答への補足

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

補足日時:2001/11/14 16:54
    • good
    • 0

それじゃあ、印刷を。



'(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を指定すると画像をコピーするっていうことだけ覚えておけばいいかと。


先の回答と同じく、質問等ありましたら補足などにお書きください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/11/14 18:03

とりあえず、保存だけ書いておきます。


Call SavePicture(Picture1.Picture, "c:\test.bmp")

この回答への補足

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

補足日時:2001/11/13 21:05
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAUTOCADをPDF変換して印刷したいのですが

AUTOCADをPDFに変換して印刷たいのですが
PDFでPC上ちゃんと見える線が印刷するとその線だけ消えています。
ワイプアウトで一部隠れてるのが原因かと思ったのですが
ちゃんと出てる図面もあります。

PDFをどうにかして印刷できないでしょうか?

AUTOCAD2010でDWG to PDFでPDF変換してます。
Adobe® Acrobat® 8 Standard を使ってます。

よろしくおねがいします。

Aベストアンサー

AutoCAD2010より低いバージョンでの話になるので参考までに。

新規作成した時に最初にできる「0」というレイヤーは印刷のときに不具合をおこす場合があるようです。
(印刷時に印刷されない等)

一度「0」のレイヤー内のオブジェクトを新たに作ったレイヤーに移して見てください!

また、Adobe Acrobatがインストールされている場合は
DWG to PDFではなく、「印刷→Adobe PDF→ファイルへ出力にチェック」を試してください!こちらの方が線がきれいにでると思います。

以上。
健闘を祈ります!!

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

1.予めピクチャーボックスに画像を表示しておき

2.そのピクチャーボックス内に円を描き↓
Picture1.Circle (10, 10), 500

3.それら両方(1で予め表示しておいた画像と、2で描いた円)を保存しようと↓
SavePicture Picture1.Image, App.Path & "\Test.bmp"

とすると、1で予め表示しておいた画像だけが保存され、2で描いた円が保存されません。

両方とも(1で予め表示しておいた画像の上に2で描いた円が表示されるように)保存したいのですが、どのようにすればよいでしょうか。
できれば具体的にサンプルコードなどをご教授いただけると大変ありがたく存じます。
恐れ入りますが、何卒よろしくお願いいたします(VB6.0)

Aベストアンサー

Picture1 の AutoRedrawプロパティ を True にすれば、
質問のコードで保存できると思います。

Qillustrator10、印刷可能範囲だけPDFに変換できますか?

よろしくお願いします。

友達にweb上でチラシを見てもらおうとしてます。

pdfに変換してweb上にアップして、友達の自宅PCにて確認してもらおうとしてますが、
PDF変換すると、画像がある範囲すべてがPDF変換されてしまいます。

プリンタで印刷できる範囲のみだけにしたいのですが、イラレで表示されている印刷可能範囲の点線の内側のみをPDF変換することは可能でしょうか?

Aベストアンサー

色々やり方はあると思いますが、私なら・・・。

1)まず、元データを「複製を保存」か「別名で保存」で保存しておきます。

2)で、すべてのレイヤーを1つにまとめて、印刷範囲の白ベタを作って【最前面】に配置します。

3)そのまま、すべてを選択して「メニューバー→オブジェクト→クリッピングマスク」を実行します。

4)これで印刷範囲のデータ出来上がり。

5)「別名で保存」か「データの書き出し」でPDFデータを作って終わり。

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

VB.NETとWinXPなのですが、
コマンドボタンを押して、ファイルダイアログボックスを開いて
jpgファイルを指定するとピクチャーボックスにその
画像が表示されるようなものをつくっているのですが、
ピクチャーボックスの上に出るファイルダイアログボックスが重なっていた部分だけ画像が欠けてしまいます。

Picturebox1.Refresh()かなと思って試してみたのですが、今度は全部消えてしまいました。
良い方法があったら教えて頂きたいです。
よろしくお願いします。

Aベストアンサー

どうやってイメージの読込をしてますか
GCに直接描画とかしてませんか
Me.PictureBox1.Image = System.Drawing.Image.FromFile("image.jpg")
みたいな感じでファイル名から読込すればいいかと思いますが

Qコンビニword印刷、PDF変換でok

コンビニでusbに保存したwordをPDFにへんかんすればどこのコンビニからでも印刷できますでしょうか?

パソコンは今ネット環境がありません
なのでusbを使い、印刷するしか方法が無く印刷したいものが3枚ほどなので漫画喫茶は高くなるし困っています。
詳しい方教えてください
ちなみにPDF変換をしないとwordはどこのコンビニも印刷不可ということでしょうか?

Aベストアンサー

PDFであれば、多くのコンビニで備えているマルチコピー機を使って印刷できます。
Windowsのエクスプローラーのようにフォルダーが表示されるので、
フォルダー内のファイル(PDF)選択も簡単です。
wordの印刷機能はありません。

Qピクチャーボックスの大きさに合わせて画像を表示

縦に長い画像をピクチャーボックスに表示したいのですが、
エクスプローラーの縮小表示と同じように
縦長の場合は左右に余白が出来て、画像の縦横比は
変更しないですべてを表示したいのですが、
どのようにしたら良いでしょうか。
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
を使うと全部入るのですが、左右に余白がないように
引き伸ばしてしまうので、何の画像なのか分かりにくくなってしまいます。
よろしくおねがいします。m(__)m

Aベストアンサー

今表示しようとしているImage のHeight と Width を調べて
高さが大きければPictureBox の幅を(縦横比に合わせて)変更し
幅が大きければPictureBox の高さを(縦横比に合わせて)変更する
そしてPictureBox 自体の位置をサイズの変更に合わせてセンタリングする位置に移動するようにすれば、StrechImage のままでいいと思う

Qイラストレータ→PDF変換で、必要な部分だけ印刷したい

イラストレータCSで作成したものを、
イラストレータがインストールされてないパソコンから印刷したいため、
PDFファイルに変換して印刷しようと思っています。
しかし設定用紙サイズの枠外まで絵を描いてしまったので
PDFファイルにするとその印刷部分外まで一緒に保存されてしまい、
希望の用紙サイズとは全く違うサイズになっていまいます。

トンボなどは設定できるようですが、画像サイズの設定をして
そこだけPDF保存、ということは出来るのでしょうか?
若しくは印刷段階で「真ん中のここだけ印刷」みたいなことは出来るのでしょうか?
スライスを使用したりして多少の悪あがきはしてみましたが…
これが限界のようです。
何か良い知恵があれば是非是非ご教授のほどお願いいたします。

また、PDFファイルに変換すると絵全体が白っぽくなるのですが…
これの回避の仕方などはあるのでしょうか?
過去の質問を見たのですがMacでの質問しか見つけられなかったので、
これも一緒に質問させていただきます。

因みにパソコンはWin2000(イラレ搭載)とWinXP(印刷用)、
使用してるのはAcrobat Reader 5.0になります。
他足りない情報があればご指摘くださればすぐに補足させて頂きます。
どうぞよろしくお願いいたします。

イラストレータCSで作成したものを、
イラストレータがインストールされてないパソコンから印刷したいため、
PDFファイルに変換して印刷しようと思っています。
しかし設定用紙サイズの枠外まで絵を描いてしまったので
PDFファイルにするとその印刷部分外まで一緒に保存されてしまい、
希望の用紙サイズとは全く違うサイズになっていまいます。

トンボなどは設定できるようですが、画像サイズの設定をして
そこだけPDF保存、ということは出来るのでしょうか?
若しくは印刷段階で「真ん中のここだけ印刷...続きを読む

Aベストアンサー

「書類サイズ」が大きいのではないでしょうか。それを用紙サイズと同じにしてからpdfで保存すればその範囲のものしかできないと思います。
当方CSは使っていませんが同様では?違っていたらゴメンナサイ。

Qピクチャーボックス内でのイメージの移動

VBで小さなピクチャーボックスの中に大きなビットマップを表示させ、ピクチャーボックスの内部でそのビットマップを移動させたいのですが、ヒントを下さい。
丁度、望遠鏡の丸の中で、景色がスクロールするイメージです。

Aベストアンサー

小さいピクチャーボックスの中に、画像サイズのピクチャーボックスを貼り、画像サイズのピクチャーボックスのLeft、Topを変化させるといいですよ。

Qエクセルファイルを印刷のところからPDFに変換

こんにちは。
会社で私が使ってるパソコンだけが、ファイルメニューの印刷を選んで、出てきた印刷ウインドウの中にプリンターの名前と一緒にAdobe PDF とあるので、それを選択すると簡単にPDFファイルに変換出来ます。
これは他のパソコンには入っていないようです。他の人が同じようにしてくれと言ってきますが、私もどうしてこうなっているのか記憶にありません。何かのプラグインが入っているのでしょうか?

ウインドウズXP で オフィス2000です。

よろしくお願いします。

Aベストアンサー

Adobe Acrobat が導入されていると考えるのが普通でしょう。
http://www.kit-systems.co.jp/webkcore/maketemplate9/maketemplate9-2.htm

http://dopub.jp/aboutpdf.php
でそう表示されています。

ちなみに「CubePDF」ではAdobe PDFとは表示されず、CubePDFと表示されます。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1331cubepdf/cubepdf.html

Q【VB2005】ピクチャーボックスの移動

VB2005で、下記のサイトにあるようなことをしたい。
「インスタンスをドラッグしたい」
ttp://hakuhin.hp.infoseek.co.jp/main/as/mouse.html#MOUSE_04

Flashと連動させる以外に方法があれば、教えてください。

Aベストアンサー

フォームがコンテナでいいのでしょうか?

ピクチャーボックスのMouseDownイベントでDragを開始するフラグをセットして DoDragDropメソッドを使います

Form側のDragEnter,DragLeaveやDragDropイベントを記述してピクチャーボックスの移動を実行します

フォームレベルの変数として
Dim bDrag as Boolean, pt as Point
を準備します

ピクチャーボックスのMouseDownイベントで
if bDrag = false then
  bflag = true
  PictureBox1.DoDragDrop( PicturBox1, DragDropEffects.Copy)
  pt = e.Location
  Form1.AllowDrop = true
end if
といった具合にして D&Dを開始します

フォームのDragEnterイベントで
if e.Data.GetDataPresent( GetType( PictureBox ) ) then
  e.Effect = DragDropEffects.Copy
End if
といった具合に D&Dの属性を設定します

フォームの外へ移動してしまった場合に フラグをリセットするために
DragLeaveイベントを使います
bDrag = False

ドロップされたら その位置にピクチャーボックスを移動する処理は
フォームの DragDropイベントに記述します

  dim p as New Point( e.X, e.Y )
  ' 引数の座標はスクリーン座標でくるので
  ' Formのクライアント座標に変換します
  p = Me.PointToClient( p )
  ' ピクチャーボックス内の何処をクリックされていたのかを
  ' ptに記憶してあるのでこれを加算します
  p.Offset( -pt.X, -pt.Y )
  PictureBox1.Location = p
  bDrag = false

といった具合で D&D出来ると思いますよ

フォームがコンテナでいいのでしょうか?

ピクチャーボックスのMouseDownイベントでDragを開始するフラグをセットして DoDragDropメソッドを使います

Form側のDragEnter,DragLeaveやDragDropイベントを記述してピクチャーボックスの移動を実行します

フォームレベルの変数として
Dim bDrag as Boolean, pt as Point
を準備します

ピクチャーボックスのMouseDownイベントで
if bDrag = false then
  bflag = true
  PictureBox1.DoDragDrop( PicturBox1, DragDropEffects.Copy)
  pt = e.L...続きを読む


人気Q&Aランキング

おすすめ情報