在图片中加文字时,生成的图片有毛边,怎么去掉?
在图片中加文字时,生成的图片有毛边,怎么去掉?
像photoshop里面那种文字有一个锐利的效果,看起来就很平滑,不会有毛边。
求功能实现代码!
[解决办法]
简单一点的,不要平滑的话,用非矢量字体,textout....
[解决办法]
你输出文字用的是gdi+的话,有平滑文字的选项的呀~
[解决办法]
gdi+
可以参考下:
http://topic.csdn.net/u/20110519/18/a26217be-2347-435d-8c25-8ebe91ef6400.html?86361
[解决办法]
使用GDI+
[解决办法]
你说的在图片中加文字,是什么意思?是说在PS里加上的图在Delphi中出现毛边吗?
如果是这样的话,那是因为字体边缘有半透明区,这个半透明区让后面的图片颜色透过,导致颜色不是你设置为透明的颜色。
就好像是你设置了clRed,但是clRed加上白色就不是ClRed了。
这种情况请使用锐利字体,或者你耐心一点,手动把那些复合颜色删除掉。
[解决办法]
使用GDI+绘图,消除锯齿(你说的毛边). 先下载GDI+ 软件包,解压到你的程序文件夹下,然后这样的形式:
var
Graphics:TGPGraphics;
Pen:TGPPen;
begin
Graphics:=TGPGraphics.Create(Canvas.handle);
Pen:TGPPen:=TGPPen.Creeate(ColorRefToARGB(颜色)); //括号里写你想要的颜色
Graphics.DrawLine(Pen,x1,y1,x2,y2);
Pen.free;
Graphics.free;
这是个Gdi+写法,其他的求值算法,自己去写
[解决办法]
忘记一句消除锯齿的: Graphics.SmoothingMode:=smAntiAlias; 我的是这样,后面参数随着Gdi+包不同,有一定的变化.