delphi文本转换图片


本文整理自网络,侵删。

 代码文件:
--------------------------------------------------------------------------------

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo; {用于输入要保存的文本}
ComboBox1: TComboBox; {字体}
LabeledEdit1: TLabeledEdit; {字号}
LabeledEdit2: TLabeledEdit; {页面边距}
LabeledEdit3: TLabeledEdit; {行距}
Button1: TButton;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

{初始化数据}
procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.Items := Screen.Fonts;
ComboBox1.Text := '宋体';
LabeledEdit1.Text := '12';
LabeledEdit2.Text := '10';
LabeledEdit3.Text := '4';
end;

procedure TForm1.Button1Click(Sender: TObject);
const
FilePath = 'c:\temp\Word.bmp'; {要保存的图片路径}
var
str: string;
bit: TBitmap;
Page_edge: Integer; {页面边距变量}
Word_h,Line_h: Integer; {字体高度和行间距}
w,x,y: Integer; {文本宽度与输出位置}
i: Integer;
begin
str := Memo1.Text;

bit := TBitmap.Create;
bit.Canvas.Font.Name := ComboBox1.Text;
bit.Canvas.Font.Size := StrToIntDef(LabeledEdit1.Text, 9);

Page_edge := StrToIntDef(LabeledEdit2.Text, 0);
Word_h := bit.Canvas.TextHeight('a');
Line_h := StrToIntDef(LabeledEdit3.Text, 0);

{设置页面高度}
bit.Height := (Word_h + Line_h) * Memo1.Lines.Count - Line_h + Page_edge * 2;
w := 0;
x := Page_edge;
y := Page_edge;

for i := 0 to Memo1.Lines.Count - 1 do
begin
{设置页面宽度}
if bit.Canvas.TextWidth(Memo1.Lines[i]) > w then
begin
w := bit.Canvas.TextWidth(Memo1.Lines[i]);
bit.Width := w + Page_edge * 2;
end;
{画文本}
bit.Canvas.TextOut(x, y, Memo1.Lines[i]);
{下一行}
Inc(y, Word_h + Line_h);
end;

{保存为图片}
bit.SaveToFile(FilePath);

bit.Free;
end;

end.

相关阅读 >>

关于Delphi xe2的fmx的一点点研究之消息篇

Delphi 捕捉异常 try except语句 和 try finally语句用法以及区别

Delphi 回车 选择下一个控件

Delphi获取dos命令行输出函数 运行cmd命令并获取结果

Delphi防止因系统崩溃而丢失任务栏的图标(重建托盘图标)

Delphi调用java编写的webservice

Delphi读取utf8格式ini及取得动态�热�

Delphi里面控制edit只能输入数字

Delphi 之 热键组件(thotkey)

Delphi 把整个窗体保存为图片的方法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...