你可以采用画布Canvas来实现这个想法的,以下是我写的代码,你看懂了肯定就会的
procedure TfrmBigamy.btPicClick(Sender: TObject);
var
Bitmap:Tbitmap;
//Ajpeg:TJPEGImage;
OldBkMode : integer;
begin
//OpenDialog.InitialDir := '';
if OpenDialog.Execute then
begin
Bitmap:=Tbitmap.Create ;
//AJpeg:=TJpegImage.Create;
Screen.Cursor := crHourGlass;
Label1.Visible := true;
try
Application.ProcessMessages;
//AJpeg.LoadFromFile(OpenDialog.FileName);
Bitmap.LoadFromFile(OpenDialog.FileName);
//Bitmap.Assign(AJpeg);
OldBkMode := SetBkMode(Bitmap.Canvas.Handle, TRANSPARENT);
Bitmap.Canvas.Font.Color :=clBlue;
Bitmap.Canvas.Font.Size :=18;
Bitmap.Canvas.Font.Name :='隶书';
Bitmap.Canvas.TextOut(10,80,'叠加文字到图片');
SetBkMode(Bitmap.Canvas.Handle, OldBkMode);
Canvas.Draw(5,30,Bitmap);
//AJpeg.Assign(Bitmap);
//AJpeg.CompressionQuality :=80; //质量
//AJpeg.Compress;
if SaveDialog.Execute then
begin
//AJpeg.SaveToFile(SaveDialog.FileName);
Bitmap.SaveToFile(SaveDialog.FileName);
end;
finally
Label1.Visible := false;
Screen.Cursor := crDefault;
//AJpeg.Free;
Bitmap.Free;
end;
end;
end;