如何在一个图片中加入汉字(100分)

  • 主题发起人 主题发起人 sh_wkl
  • 开始时间 开始时间
S

sh_wkl

Unregistered / Unconfirmed
GUEST, unregistred user!
有一些人物照片,jpg格式,我想在程序中打开一个图片,然后在程序中的EDIT框中输入人物名,然后另存为新图片或盖上原图片(要求新图片的下方有刚输入的名字),如何实现?
偶是个新手,麻烦大侠们说的详细点.
 
uses JPED;

procedure AddPicName(ajpg, sName: string; saveTo: string = '');
var
Bmp: TBitMap;
Jpg: TJpegImage;
begin
//创建一个位图
Bmp := TBitMap.Create;
//创建一个JPEGIMAGE;
Jpg := TJpegImage.Create;
//从文件中加载JPEG图象
Jpg.LoadFromFile(ajpg);
//JPEG转化成位图
Bmp.Assign(jpg);
//画文字
with Bmp.Canvas do
begin
TextOut(0, Bmp.Height - TextHeight(sName), sName);
end;
//位图转换成BMP
jpg.Assign(Bmp);
//调整JPEG压缩等级 100位无损压缩
jpg.CompressionQuality := 100;
//释放位图
FreeAndNil(Bmp);
//保存JPEG文件
if saveTo = '' then
Jpg.SaveToFile(ajpg)
else jpg.SaveToFile(SaveTo);
//释放JPEG
FreeAndNil(Jpg);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
//打开一个JPEG图象
if OpenDialog1.Execute then
begin
//添加文字
AddPicName(OpenDialog1.FileName, Edit1.Text, 'D:/1.jpg');
//查看被更改的JPEG图象
Image1.Picture.LoadFromFile('D:/1.jpg');
end;
end;
 
复制到你的程序的代码里
 
主要就是 TextOut(0, Bmp.Height - TextHeight(sName), sName);
拉。楼上代码够详细的
 
谢谢 miros
 
后退
顶部