delphi.gif (306 バイト) MetaFileの使い方


DelphiのTMetaFileコンポーネントを使用するとビットマップを簡単に扱うことができます。C/C++では苦労させられます(C++Builderは別だが)。

 

toach.gif (917 バイト) メタファイルオブジェクトの生成と消滅

メタファイルオブジェクトは、非ビジュアルコンポーネントなので必ずコンストラクタを呼び出して生成してやる必要があります。また、不要になったオブジェクトを消滅させることもできます。

    var wmf: TMetaFile;
    ....
    wmf := TMetaFile.Create;
    .......

    wmf.Free;

  toach.gif (917 バイト) メタファイルオブジェクトをファイルからロードするには

LoadFromFileメソッドを使うとビットマップをファイルから読み込むことができます。逆にSaveToFileメソッドを使うとファイルに保存できます。

 

メタファイルを描画するには

Bitmapと同じようにDrawメソッドやStretchDrawメソッドを使ってCanvasに描画できます。

procedure TForm1.Open1Click(Sender: TObject);
begin
    OpenDialog1.Filter := 'WMF(*.wmf)|*.wmf|All(*.*)|*.*';
    OpenDialog1.Execute;
    wmf.LoadFromFile(OpenDialog1.FileName);
    Canvas.Draw(10, 10, wmf);
end;

メタファイルの表示にはImageコンポーネントを使うこともできます。

procedure TForm1.LoadtoTImage1Click(Sender: TObject);
begin
    OpenDialog1.Filter := 'WMF(*.wmf)|*.wmf|All(*.*)|*.*';
    OpenDialog1.Execute;
    Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end;