初心者ですいません イメージコンポーネントですが、
Image1 Image2 の中身picture(bmp)を Image3のpictureの中にに足して入れたいのですが?
横に並べたり 縦に並べて表示したいです。
どうか教えてください。
Image1.Picture.Height >= Image2.Picture.Height だとして、
(そうである必用はないが)
var
SrcRect, DestRect: TRect;
begin
// 横につなげる場合
Image3.Picture.Bitmap.Width := Image1.Picture.Bitmap.Width +
Image2.Picture.Bitmap.Width;
Image3.Picture.Bitmap.Height := Image1.Picture.Bitmap.Height;
SrcRect := Rect(0, 0. Image1.Width - 1, Image1.Height - 1);
DestRect := Rect(0, 0. Image1.Width - 1, Image1.Height - 1);
Image3.Picture.Bitmap.CopyRect(DestRect,
Image1.Picture.Bitmap.Canvas,
SrcRect);
DestRect.Left := Image1.Width;
DestRect.Right := Image3.Width - 1;
Image3.Picture.Bitmap.CopyRect(DestRect,
Image2.Picture.Bitmap.Canvas,
SrcRect);
end;
場合により StretchDraw()も使用できます。
訂正.
Image3.Picture.Bitmap.Canvas.CopyRect(DestRect,
~~~~~~ Image1.Picture.Bitmap.Canvas,
SrcRect);
助かりました。大変ありがとうございます。
あと Image3 足した画像を縮小して BMPファイルに保存したいのですが、簡単いい方法がございましたら教えてください!
画像の縮小は中村氏のShrink 関数が定番です。
CommonフォルダのBitmapUtils.pas にあります。
http://www.asahi-net.or.jp/~HA3T-NKMR/DGS/DownLoad.htm
> BMPファイルに保存
Image.Picture.SaveToFile
ありがとうございました 勉強してみます。
ツイート | ![]() |