紧急求助一个文字特效问题 ( 积分: 100 )

  • 主题发起人 主题发起人 honeyboy
  • 开始时间 开始时间
H

honeyboy

Unregistered / Unconfirmed
GUEST, unregistred user!
在画布上如何输出汽车号牌这样的立体文字(汽车号牌的文字是模板压制出来的),拍数码照片后你可以看到有些凹凸立体的感觉,如果做到在画布上输出这样的文字
image1.Canvas.Brush.Color:=rgb(225,181,10);
image1.Canvas.Pen.Color:=clblack;
image1.Canvas.Pen.Style:=psSolid;
image1.Canvas.Brush.Style:=bsSolid;
image1.Canvas.FillRect( Rect(0,0, img.Width, img.Height) );
beginpath(image1.canvas.handle); //开始扑或canvas上绘制的轮廓
image1.Canvas.Font.Name := '方正姚体'; //
image1.Canvas.Font.size :=38;
image1.Canvas.Font.Color:=clblack;
image1.Canvas.Pen.Width := 3;
SetBkMode(image1.Canvas.Handle, TRANSPARENT );
image1.canvas.TextOut(20,40,edit2.Text);
endpath(image1.canvas.handle); //
StrokePath(image1 .canvas.handle); //将普或的轮廓用当前的pen画到canvas上.
我用这个办法输出的是轮廓字体,不是我想要的,如果直接用
img.Canvas.Brush.Color:=rgb(248,211,37);//F8D325
img.Canvas.Font.Name :='黑体';
img.Canvas.Font.size :=38;
img.Canvas.Font.Color:=clblack;
img.Canvas.Pen.Color:=clblack;
img.Canvas.Pen.Style:=psSolid;
img.Canvas.Brush.Style:=bsSolid;
img.canvas.TextOut(strtoint(seleft.text),strtoint(setop.Text) ,edit2.Text);
那只是输入普通平面字体,没有凹凸的感觉,哪位告知我解决办法,最好带代码,非常感谢
 
在画布上如何输出汽车号牌这样的立体文字(汽车号牌的文字是模板压制出来的),拍数码照片后你可以看到有些凹凸立体的感觉,如果做到在画布上输出这样的文字
image1.Canvas.Brush.Color:=rgb(225,181,10);
image1.Canvas.Pen.Color:=clblack;
image1.Canvas.Pen.Style:=psSolid;
image1.Canvas.Brush.Style:=bsSolid;
image1.Canvas.FillRect( Rect(0,0, img.Width, img.Height) );
beginpath(image1.canvas.handle); //开始扑或canvas上绘制的轮廓
image1.Canvas.Font.Name := '方正姚体'; //
image1.Canvas.Font.size :=38;
image1.Canvas.Font.Color:=clblack;
image1.Canvas.Pen.Width := 3;
SetBkMode(image1.Canvas.Handle, TRANSPARENT );
image1.canvas.TextOut(20,40,edit2.Text);
endpath(image1.canvas.handle); //
StrokePath(image1 .canvas.handle); //将普或的轮廓用当前的pen画到canvas上.
我用这个办法输出的是轮廓字体,不是我想要的,如果直接用
img.Canvas.Brush.Color:=rgb(248,211,37);//F8D325
img.Canvas.Font.Name :='黑体';
img.Canvas.Font.size :=38;
img.Canvas.Font.Color:=clblack;
img.Canvas.Pen.Color:=clblack;
img.Canvas.Pen.Style:=psSolid;
img.Canvas.Brush.Style:=bsSolid;
img.canvas.TextOut(strtoint(seleft.text),strtoint(setop.Text) ,edit2.Text);
那只是输入普通平面字体,没有凹凸的感觉,哪位告知我解决办法,最好带代码,非常感谢
 
把你的字写3次,第一次为上不偏移浅灰,第2次黑色下偏移4,,第3次下偏移2个像数你要的颜色,这样旧有立体感了,多种特效自己组合,这是小Case
 
另外问一下,有没有好的办法实现几乎不失真的斜拉,比如号牌正面看上去是长方形,从侧面看过去,则是一个斜的平行四边形,如果得出这个斜的平行四边形并且几乎没有失真
 
3D文字效果,图像旋转都有第三方控件
 
用Gdi+中的矩阵运算,好象在TGPGraphic.drawimage中
 
后退
顶部