问题来源: http://www.cnblogs.com/del/archive/2008/12/30/1316584.html#1417644
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} {将两个图片横向合并} procedure TForm1.Button1Click(Sender: TObject); var bit, bit1, bit2: TBitmap; h: Integer; begin bit := TBitmap.Create; bit1 := TBitmap.Create; bit2 := TBitmap.Create; bit1.LoadFromFile('c:\temp\test1.bmp'); bit2.LoadFromFile('c:\temp\test2.bmp'); h := bit1.Height; if bit2.Height > h then h := bit2.Height; bit.SetSize(bit1.Width + bit2.Width, h); bit.Canvas.Draw(0, 0, bit1); bit.Canvas.Draw(bit1.Width, 0, bit2); bit.SaveToFile('c:\temp\test.bmp'); bit.Free; bit1.Free; bit2.Free; end; {将图片缩小至 1/4} procedure TForm1.Button2Click(Sender: TObject); const r = 0.25; var bit1, bit2: TBitmap; begin bit1 := TBitmap.Create; bit2 := TBitmap.Create; bit1.LoadFromFile('c:\temp\test.bmp'); bit2.SetSize(Trunc(bit1.Width * r), Trunc(bit1.Height * r)); bit2.Canvas.StretchDraw(Rect(0,0,bit2.Width,bit2.Height), bit1); bit2.SaveToFile('c:\temp\test.bmp'); bit1.Free; bit2.Free; end; end.