クリップボードの静止画保存がPNG形式になってしまう。


たろう  2010-11-22 13:33:24  No: 147233  IP: [192.*.*.*]

'クリップボードにあるデータの取得
        Dim d As IDataObject = Clipboard.GetDataObject()

        'クリップボードにデータがあったか確認
        If d IsNot Nothing Then
            'ビットマップデータ形式に関連付けられているデータを取得
            Dim imgData As Image = 
とあるサンプルプログラムを使いました。



'クリップボードにあるデータの取得
Dim d As IDataObject = Clipboard.GetDataObject()

'ビットマップにしるデータ
Dim bmpData As Bitmap = d.GetData(DataFormats.Bitmap)

            If Not (bmpData Is Nothing) Then
                'データが取得できたときは表示する
                bmpData.Save("c:\moo.bmp")

            End If

出来た静止画は、BMP形式でなく  PNG形式です。

BMPにしたいのですがどうすれば良いでしょうか?

編集 削除
たろう  2010-11-22 13:34:40  No: 147234  IP: [192.*.*.*]

1回目はミス投稿です。


とあるサンプルプログラムを使いました。



'クリップボードにあるデータの取得
Dim d As IDataObject = Clipboard.GetDataObject()

'ビットマップにしるデータ
Dim bmpData As Bitmap = d.GetData(DataFormats.Bitmap)

            If Not (bmpData Is Nothing) Then
                'データが取得できたときは表示する
                bmpData.Save("c:\moo.bmp")

            End If

出来た静止画は、BMP形式でなく  PNG形式です。

BMPにしたいのですがどうすれば良いでしょうか?

編集 削除
VBレスキュー(花ちゃん)  2010-11-22 19:46:15  No: 147235  IP: [192.*.*.*]

c:\moo.bmp が PNG形式 だと何で調べられたのでしょうか?
クリップボードには、間違いなくBMP形式のフォーマットであったのでしょうか?

下記で取得しても同じですか?

    Dim iData As IDataObject = Clipboard.GetDataObject()
    If iData.GetDataPresent(DataFormats.Bitmap) Then
        Dim img As System.Drawing.Image = iData.GetData(DataFormats.Bitmap, True)
        img.Save("c:\moo.bmp", System.Drawing.Imaging.ImageFormat.Bmp)
    End If

編集 削除
matsu  2010-11-23 09:41:23  No: 147236  IP: [192.*.*.*]

>bmpData.Save("c:\moo.bmp")

ImageFormatを指定してください。
bmpData.Save("c:\moo.bmp", System.Drawing.Imaging.ImageFormat.Bmp)

編集 削除