Canvas.Draw(X,Y,Graphic) で、Graphicを任意のサイズで描画したい

解決


maco  2005-09-29 21:12:17  No: 17772

StringGridのDrawCellイベントで、
セルの文字列をチェックし、各文字上に対応した画像を描画を考えています。

(例)
  aaa* → aaa☆ (☆は画像で再現)

プログラム上では、
  StringGrid.Canvas.Draw(X座標,Y座標, Image.Picture.Graphic);
で画像を表示しようとしています。

しかし、
画像の表示サイズがImageに読み込んだサイズの状態で、
Image.Height(Width)を変更しても表示サイズは変更出来ません。

画像のサイズを任意のサイズに変更して表示する場合、
(フォントサイズに応じて画像をリサイズしたい)
どのように処理したらよいでしょうか?

よろしくお願いします。
同じような効果が得られるのであれば、実現方法は何でもOKです。


えーと  2005-09-29 21:21:13  No: 17773

> StringGrid.Canvas.Draw(X座標,Y座標, Image.Picture.Graphic);

普通は TBitmap のインスタンスで画像を保持して TCanvas.StretchDraw() を
使って任意の場所に任意の大きさで描きます。


maco  2005-09-29 22:06:22  No: 17774

「えーと」さんありがとうございます。

StretchDrawを使うことで、任意のサイズで画像を表示出来ました。

ImageListに画像の一覧を用意しておき、
画像描画時に、TBitmapに画像を渡し描画させるように変更しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加