目前要实现个功能,就是要在用photo处理过的图片,用程序往上面打上文字,而不
影响图片的质量,比如说大小和分辨率、颜色等。高手快来呀。
影响图片的质量,比如说大小和分辨率、颜色等。高手快来呀。
解决方案 »
- 千呼万唤高手来,一个URLDOWNLOADTOFILE的问题!急!
- 向大家求助一个关于Qreport的问题?
- 最后的分数拉。请各位大侠帮帮忙,
- 在delphi7中装了QReport,但只有在窗体中加入TQuickRep组件,其他什么也不加,在编译时就会出错:“Property ExtendedDuplex dose not ex
- 如何比较两个不知道长度的pchar类型的变量是否相等
- 如何在delphi中调用dos程序
- 在程序中无何派断本地机是否装了OFFICE中的word,并且如何获得它的路径(.exe的完全路径,我要调用这个程序)
- 请大家给个意见!
- listbox自动换行,换行后,做为一整行,急急急!!!
- Delphi6 大bug呀,气死了!!
- Table+DBGrid 显示数据后,怎样改变表格的列数?
- 求最简单的FUNCTION,将ABCDEF,倒过来变成FEDCBA的写法!
A:这里有个代码。
hmm, here's a sample with help of Bitmap, you can chance the brush style of canvas to bsClear to make the text transparent
uses
Jpeg;
procedure TForm1.Button1Click(Sender: TObject);
var
Bmp : TBitmap;
Jpg : TJpegImage;
begin
try
Bmp := TBitmap.Create;
Jpg := TjpegImage.Create;
Jpg.LoadFromFile('c:\img.jpg');
Bmp.Assign(Jpg);
Bmp.Canvas.Brush.Style := bsClear;
Bmp.Canvas.Font.Color := clYellow;
Bmp.Canvas.TextOut(10,10,'Hello World');
Jpg.Assign(Bmp);
Jpg.SaveToFile('c:\img2.jpg');
finally
bmp.Free;
jpg.Free;
end;
end;
JPG转BMP损失质量不多
jpeg.CompressionQuality;
jpeg.Grayscale;
jpeg.PixelFormat;
jpeg.Compress;
jpeg.Smoothing;
这些东西设置一下JPEG的格式.但JPEG转BMP,BMP转JPEG都是有损的,想完全一致是不可能的;
如果你想完全无损的在JPEG上写字,那么建议你仔细研究一下JPEG格式,然后直接修改图片文件;
提交日期:2004-4-11
关键词:JPG 图像 下面是个示例代码,你也可以将Canvas的brush style设置成bsClear,使得文本具有透明效果。uses
Jpeg;procedure TForm1.Button1Click(Sender: TObject);
var
Bmp : TBitmap;
Jpg : TJpegImage;
begin
try
Bmp := TBitmap.Create;
Jpg := TjpegImage.Create;
Jpg.LoadFromFile('c:\img.jpg');
Bmp.Assign(Jpg);
Bmp.Canvas.Brush.Style := bsClear;
Bmp.Canvas.Font.Color := clYellow;
Bmp.Canvas.TextOut(10,10,'Hello World');
Jpg.Assign(Bmp);
Jpg.SaveToFile('c:\img2.jpg');
finally
bmp.Free;
jpg.Free;
end;
end;
Bmp.Assign(Jpg); 这样的方式都不行。我现在就是这么做的。客户不满意。
这样影响了图片的质量了。同志们,快帮忙呀。
p:=Tpicture.Create ;
try
openpicturedialog1.Execute;
if openpicturedialog1.FileName<>'' then
begin
p.LoadFromFile(openpicturedialog1.filename);
image1.Canvas.Draw(0,0,p.graphic);
end;
finally ;
p.free;
end;