• ベストアンサー

画像の取り込みなんですが

VB最近始めたばかりです。 起動してあるウインドウの全体をjpgなどの画像として取込み、それを保存したいのですが、どうやればいいのかさっぱりわかりません。  わかりずらい質問の仕方かもしれませんが、もしわかる方がいれば教えてください。お願いします

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

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

サンプルです。 クリップボードを使用する方法のサンプルが手元にあったので、それを載せておきます。 クリップボードを使用しない方法は手元にないのですが、todo36さんの載せているサンプルをちょっとだけ改造するときますよ。 ※処理の流れ 1.クリップボードにコピー(関数:fucSnapShot) 2.クリップボードの内容を取得 3.保存 ※必要な物 フォーム コマンドボタン ピクチャボックス Private Type tagKEYBDINPUT   wVk         As Integer   wScan        As Integer   dwFlags       As Long   time        As Long   dwExtraInfo     As Long   bytUnusedPadding(7) As Byte End Type Private Type tagINPUT   type As Long   ki  As tagKEYBDINPUT End Type Private Const INPUT_KEYBOARD = 1 Private Const VK_SNAPSHOT = &H2C Private Const VK_LMENU = &HA4& Private Const KEYEVENTF_KEYUP = &H2 Private Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As tagINPUT, ByVal cbSize As Long) As Long Private Sub Command1_Click()   '画面をクリップボードにコピーさせる   Call fucSnapShot      With Me     'クリップボードから画像を得る     .Picture1.Picture = Clipboard.GetData          '画像を保存     Call SavePicture(.Picture1.Image, "c:\test.bmp")   End With End Sub Sub fucSnapShot()   Dim inpInfomation(3)  As tagINPUT      ' キー ストロークを作成   With inpInfomation(0)     .type = INPUT_KEYBOARD     .ki.wVk = VK_LMENU   End With   With inpInfomation(1)     .type = INPUT_KEYBOARD     .ki.wVk = VK_SNAPSHOT   End With   With inpInfomation(2)     .type = INPUT_KEYBOARD     .ki.wVk = VK_LMENU     .ki.dwFlags = KEYEVENTF_KEYUP   End With   With inpInfomation(3)     .type = INPUT_KEYBOARD     .ki.wVk = VK_SNAPSHOT     .ki.dwFlags = KEYEVENTF_KEYUP   End With      ' キー ストロークを合成   Call SendInput(3, inpInfomation(0), Len(inpInfomation(0)))      'Windowsに処理を渡す(クリップボードに画像がわたる)   DoEvents End Sub Private Sub Form_Load()   With Me     'フォームの書式設定     .ScaleMode = vbPixels          'ダミーピクチャボックスの書式設定     With .Picture1       .Appearance = 0       .AutoRedraw = True       .AutoSize = True       .BorderStyle = 0       .Visible = False     End With          'コマンドボタン     .Command1.Caption = "実行"   End With End Sub

tetudamon
質問者

お礼

お礼遅くなりました、すいません。 初心者みたいなものなので、解読に時間がかかってますがとても役に立っております。サンプルプログラムまで書いていただき本当にありがとうございます。

tetudamon
質問者

補足

リファレンスブックを買い調べていたのですが、探し出せないので補足です。 えっと、フォームの取り込みはわかったのですが、たとえば、インターネットエクスプローラなどのウインドウ内の画像の取り込みはどのようにしたら良いかわかりますでしょうか。わかりましたら教えてください、お願いします。

その他の回答 (2)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.3

No.1の補足です DesktopHwnd = GetDesktopWindow() の代わりに DesktopHwnd = form1.hWnd とすれば、form1をBMPに保存できます。

tetudamon
質問者

お礼

補足ありがとうございます。No.1だけでもとても参考になっていたのに、補足までしていただいてとても感謝感激です。ありがとうございます。

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

ずばりなサンプルを見つけました。 何語??

参考URL:
http://www.activevb-archiv.de/vb/VBtips/VBtip0078.shtml
tetudamon
質問者

お礼

とても参考になっています。本当にありがとうございました 補足のほうわかりましたら教えてください。お願いします

tetudamon
質問者

補足

これは、ディスクトップ全体ですよね。これでも良いのですが、フォーム内(ウインドウ内)を画像としてとるにはどうしたら良いのかわかりますか? それから、ずうずうしいですが日本語で書いてあるところ知っていましたら教えてください。 お願いします

関連するQ&A

  • 画像の取り込みについて

    ホームページの画像を取り込む(右クリック--名前を付けて画像を保存)とき”bmp”でしか取り込みできなくなりました。画像のプロパティを見ると”種類” ”作成日” ”更新日”の各項目が利用不可になってます。サイズは-1バイトと表示されます。 手持ちのJPG画像をダブルクリックしてインターネットエクスプレスで表示させて同様の作業をしたときには”jpg”で取り込みできます。

  • 画像保存で

    こんばんわ! さっそく、質問です。 ネットで画像を保存する時にJPG保存にしたいのに、ビットマップ保存になってしまいます。JPGの選択肢がありません。 昔はJPGで保存できていました。 どうにかしてJPG保存に変えたいので操作の仕方を教えて下さい。 ファイル名の後ろについてるのを変えるという方法以外でおねがいします。

  • 画像を明るくしたいのですが。

    こんばんは。 JPGで保存している画像が薄暗いので全体的に明るくしたいのですがフリーのソフトでお勧めは無いでしょうか?

  • 画像の保存

    windows10 ver 1909です。 画像の保存が急に出来なくなりました。画像(jpg gif)をペイントで(名前をつけて保存)クリック為ても{データーを正しく書き込めませんでした。}と表示され出来ません。今までは(ピクチャ)にも表示出来てました。設定の仕方など有りましたらご教授よろしく御願いします。

  • FlashMX2004 画像の取込み

    たぶんもの凄く初歩的な ことだと思いますが よろしくお願いします 画像の取込みですが 枠だけが表示されて画像が 見えません、 デジカメのjpg画像を取り込もうと 思いましてドラッグしたのですが 枠だけで画像が表示されません 読み込みでやっても同じです 試しに書き出してみるとswf ファイルで保存されてその枠の 画像もちゃんと表示して見れます ライブラリという部分のアイテムと いう所では画像は表示してます 既存のテンプレートを使った 場合は表示します、 解りにくい質問と思いますが よろしくお願いします。

  • ペイントで取り込み画像だけをjpg保存したい。

    OnenoteでHPを切り取ってそれをjpg変換したいので、ペイントに貼り付けたのですが、 ペイントでjpgで保存すると、添付画像のように描画領域全体がjpg保存されてしまいます。 うまく取り込み画像だけをjpg保存する方法を教えて頂きたいのですが。 よろしくお願いします

  • JPGの画像ファイルの結合

    JPGの画像ファイルが5つあります。 これを縦に結合して、1つのJPGファイルにしたいです。 VB.NETでは、どのような実現の仕方ができるでしょうか?

  • 画像の取り込み禁止はどうやるのですか?

     たとえば自分が貼り付けた画像を、Web閲覧者に「画像を保存」されたくないとします。その際、簡単な禁止方法はありますか?  あるサイトで、ソースを見ようと右クリックしました。  たまたま画像がたくさん並べられていたスペースだったので、メッセージウィンドウが出てきて 「ソース閲覧&画像保存禁止     [OK]       」 と書かれていました。このようにするのが一番簡単であれば、その方法を知りたいのですが・・・。初歩的な質問で申し訳ありません。

  • jpg画像が勝手にbit mapへ変わってしまいます

    WEBからjpgの画像を取り込んでいると、突然保存形式がbit map へ勝手に変わってしまいます。 その直前まではjpgで問題なく落とせていたのですが。 一旦再起動させてみたり、システムの復元など闇雲にやって見ましたが効果なしでした。 原因と修復の仕方をご存知の方がいらっしゃいましたら教えてください。 お願いします。

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

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