delphi.gif (306 バイト) イメージの描画


Canvasには、図形や文字列の他に、イメージ(ビットマップ(*.bmp)、アイコン(*.ico)、メタファイル(*.wmf))を描画することができます。ただし、Imageコンポーネントを使う方が扱いは簡単です。

 

toach.gif (917 バイト) イメージをCanvasに描画するには

イメージを描画するにはDrawメソッドを使用します。

    g: TBitmap;
    ............    

    g := TBitmap.Create;
    OpenDialog1.Filter := 'DIB(*.BMP)|*.bmp|All(*.*)|*.*';
    OpenDialog1.Execute;
    g.LoadFromFile(OpenDialog1.FileName);
    Form1.Canvas.CopyMode := cmSrcCopy;
    Form1.Canvas.Draw(10, 10, g);

(注意)

Drawメソッドの3番目のパラメータはTGraphic型ですが、TGraphic型のオブジェクトを直接使うことはできません。TGraphicは抽象クラスのため、インスタンス化できないためです。その代わり、その派生クラスであるTBitmapやTIconを使うことができます。

 

toach.gif (917 バイト) イメージを拡大(縮小)表示するには

イメージを拡大描画するにはStrechDrawメソッドを使用します。

var
    r: TRect;
begin
    r.Left := 0;
    r.Top := 0;
    r.Right := g.Width * 2 - 1;
    r.Bottom := g.Height * 2 - 1;
    Form1.Canvas.StretchDraw(r, g);
end;