如何在 Delphi 7 图像上绘制数字

发布于 2024-12-05 18:08:02 字数 119 浏览 0 评论 0 原文

我有一个要求在图像上绘制一个数字。该数字会自动更改。我们如何在 Delphi 7 中动态创建图像? .如果有人知道请推荐我。

你的拉克什。

I have a requirement to draw a number to a image.That number will changes automatically.how can we create an image dynamically in Delphi 7 ?
.If any one knows please suggest me.

Yours Rakesh.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

早茶月光 2024-12-12 18:08:02

您可以使用 Canvas 属性"http://docwiki.embarcadero.com/VCL/en/Graphics.TBitmap" rel="nofollow noreferrer">TBitmap 在 a 中绘制文本图像

检查这个程序

procedure GenerateImageFromNumber(ANumber:Integer;Const FileName:string);
Var
  Bmp : TBitmap;
begin
  Bmp:=TBitmap.Create;
  try
    Bmp.PixelFormat:=pf24bit;
    Bmp.Canvas.Font.Name :='Arial';// set the font to use
    Bmp.Canvas.Font.Size  :=20;//set the size of the font
    Bmp.Canvas.Font.Color:=clWhite;//set the color of the text
    Bmp.Width  :=Bmp.Canvas.TextWidth(IntToStr(ANumber));//calculate the width of the image
    Bmp.Height :=Bmp.Canvas.TextHeight(IntToStr(ANumber));//calculate the height of the image
    Bmp.Canvas.Brush.Color := clBlue;//set the background
    Bmp.Canvas.FillRect(Rect(0,0, Bmp.Width, Bmp.Height));//paint the background
    Bmp.Canvas.TextOut(0, 0, IntToStr(ANumber));//draw the number
    Bmp.SaveToFile(FileName);//save to a file
  finally
    Bmp.Free;
  end;
end;

并像这样使用

procedure TForm1.Button1Click(Sender: TObject);
begin
  GenerateImageFromNumber(10000,'Foo.bmp');
  Image1.Picture.LoadFromFile('Foo.Bmp');//Image1 is a TImage component
end;

You can use the Canvas property of a TBitmap to draw a text in a image

check this procedure

procedure GenerateImageFromNumber(ANumber:Integer;Const FileName:string);
Var
  Bmp : TBitmap;
begin
  Bmp:=TBitmap.Create;
  try
    Bmp.PixelFormat:=pf24bit;
    Bmp.Canvas.Font.Name :='Arial';// set the font to use
    Bmp.Canvas.Font.Size  :=20;//set the size of the font
    Bmp.Canvas.Font.Color:=clWhite;//set the color of the text
    Bmp.Width  :=Bmp.Canvas.TextWidth(IntToStr(ANumber));//calculate the width of the image
    Bmp.Height :=Bmp.Canvas.TextHeight(IntToStr(ANumber));//calculate the height of the image
    Bmp.Canvas.Brush.Color := clBlue;//set the background
    Bmp.Canvas.FillRect(Rect(0,0, Bmp.Width, Bmp.Height));//paint the background
    Bmp.Canvas.TextOut(0, 0, IntToStr(ANumber));//draw the number
    Bmp.SaveToFile(FileName);//save to a file
  finally
    Bmp.Free;
  end;
end;

And use like this

procedure TForm1.Button1Click(Sender: TObject);
begin
  GenerateImageFromNumber(10000,'Foo.bmp');
  Image1.Picture.LoadFromFile('Foo.Bmp');//Image1 is a TImage component
end;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文