5行でズバリ!!クリップボード上の画像をファイル保存するには
- 主題
- DOBON先生のところの掲示板に寄稿したサンプルコードがかっこ悪い。
- 理由
- bitmap型をbitmap型にキャストしている。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 1: Dim item As DataObject = Clipboard.GetDataObject 2: Dim bmp As Bitmap = CType(item.GetData(DataFormats.Bitmap), Bitmap) 3: If Not (bmp Is Nothing) Then 'データが取得できたときは表示する 4: bmp.Save("c:\moo.bmp") 5: MsgBox("file is saved.") End If End Sub
- 修正案
- ctypeは不要につき、以下のコードに置き換える
2: Dim bmp As Bitmap = item.GetData(DataFormats.Bitmap) 'これでじゅうぶんです。
- テスト手順
- 以下のコードで画像を保存できます。
■試し方
1.Windowsアプリケーション(vb.net)を新規作成
2.フォームにボタンを1つ貼り付ける
3.下記のコードを貼り付ける
4.F5キーを押して実行する。
5.PrintScreenキーを押して画面イメージを取得する。
6.フォーム上のボタンを押す。(メッセージが表示されます。)
7.Cドライブ直下にMOO.BMPができますので確認してください。