GDI+在 image上绘制文字问题

风帆像散 2010-11-12 11:16:28

procedure TForm1.btn2Click(Sender: TObject);
var
g: TGPGraphics;
b: TGPBrush;
font: TGPFont;

begin
img1.Transparent:=True;
img1.Canvas.Brush.Color:=clBlack;
g := TGPGraphics.Create(img1.Canvas.Handle);
b := TGPSolidBrush.Create(aclRed);
font := TGPFont.Create('Arial', 150);
g.SetTextRenderingHint(TTextRenderingHint(4));
g.DrawString('delphi', -1, font, MakePoint(0.0,0.0), b);
font.Free;
b.Free;
g.Free;
img1.Repaint;
end;


为啥一片空白呀,如果换成窗口canvas 就可以绘制出来了 求高手告知
...全文
234 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
oushengfen 2012-03-24
  • 打赏
  • 举报
回复
GDI+需要花时间学习一下了
痴心灬妄想 2012-03-22
  • 打赏
  • 举报
回复
这样:
var
g: TGPGraphics;
b: TGPLinearGradientBrush;
font: TGPFont;
Rect: TGPRect;
begin
g:=TGPGraphics.Create(img1.Canvas.Handle);
g.SmoothingMode:=smAntiAlias;
Rect:=GPrect(Form.ClientRect);
b:=TGPLinearGradientBrush.Create(Rect,clBlack,clBlack,90);
Font:=TGPFont.Create('Arial',Font.Size,[fsbold],utpoint); //Font.Size 是字体的大小.

g.DrawString('delphi', Font, brushs.black, MakePoint(0.0,0.0));
g.free;
b.free;
end;
Scinyeah 2010-11-21
  • 打赏
  • 举报
回复
不会啊,我试了你的代码,可以的啊!

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧