拡張メタファイルをWindowsメタファイルに変換(VB)

説明:

"c:\pic\test.emf"という拡張メタファイルをWindowsメタファイルに変換し、"c:\pic\test.wmf"というファイルに保存する。

キーワード:

GetEnhMetaFile, GetWinMetaFileBits, SetMetaFileBitsEx, CopyMetaFile, DeleteMetaFile, DeleteEnhMetaFile

サンプルコード:

' 拡張メタファイルをWindowsメタファイルに変換
Private Sub Command1_Click()

    Dim hEnhMetaFile As Long '拡張メタファイルのハンドル
    Dim hMemWinMetaFile As Long 'メモリ上のWindowsメタファイルのハンドル
    Dim hFileWinMetaFile As Long 'ファイル上のWindowsメタファイルのハンドル
    Dim Buf(10000) As Byte 'Windowsメタファイルデータの取得バッファ
    Dim BufSize As Long 'Bufに格納されたデータのサイズ
    
    '拡張メタファイルのオープン
    hEnhMetaFile = GetEnhMetaFile("c:\pic\test.emf")
    
    'Windowsメタファイル形式でデータを取得
    BufSize = GetWinMetaFileBits(hEnhMetaFile, 10000, Buf(0), MM_TEXT, Me.hDC)
    
    'Windowsメタファイルの作成
    hMemWinMetaFile = SetMetaFileBitsEx(BufSize, Buf(0))
    
    'ファイルに保存
    hFileWinMetaFile = CopyMetaFile(hMemWinMetaFile, "c:\pic\test.wmf")
    
    'メタファイルのクローズ
    DeleteMetaFile hFileWinMetaFile
    DeleteMetaFile hMemWinMetaFile
    DeleteEnhMetaFile hEnhMetaFile

End Sub


(original text:2000/01/27 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。