更改逻辑字体

编程入门 行业动态 更新时间:2024-10-08 22:10:46

更改<a href=https://www.elefans.com/category/jswz/34/1768871.html style=逻辑字体"/>

更改逻辑字体

  var 
I: Integer;
FLogFont: tagLogFontA; // 逻辑字体 -- 结构体类型
hTempFont, hPrevFont: HFONT; // 字体句柄
hTempDC: HDC; // 设备描述表或图形设备句柄
TempString,vStr: string ; // 输出的文字
begin
FLogFont.lfHeight : = 20 ; // 字高
FLogFont.lfWidth : = 10 ; // 字宽
FLogFont.lfWeight : = 5 ; // 字体笔划粗细程度
FLogFont.lfUnderline : = 1 ; // 没有下划线
FLogFont.lfStrikeOut : = 0 ; // 没有删除线
FLogFont.lfItalic : = 0 ; // 斜体效果否
FLogFont.lfCharSet : = GB2312_CHARSET; // 字符集
FLogfont.lfEscapement : = 100 ; // 倾斜度
FLogFont.lfOrientation : = 100 ; // 方向与倾斜度取值同

FLogFont.lfFaceName : = ' 黑体 ' ; // 字体名称
// 创建逻辑字体
hTempFont : = CreateFontIndirect(FLogFont);

TempString : = ' SDFGSD4F4GS5DF ' ;
// 取得窗口的设备句柄
// hTempDC : = GetDC(.Handle);
hTempDC : = Image1.Canvas.Handle;
// 取出窗口设备的当前字体,并替换为新字体
hPrevFont : = SelectObject(hTempDC, hTempFont);
// 设置设备窗口的文字色彩
SetTextColor(hTempDc, clBlack);
SetBkMode(hTempDc, TRANSPARENT); // 设置字体输出为背景透明

// TextOut(hTempDC, 0 , 10 ,PChar(TempString), 10 );

// 输出文字
for i : = 1 to Length(TempString) - 1 do
begin
vStr : = TempString[i];
TextOut(hTempDc, 0 + i * 10 , 0 , PChar(vStr), 1 );
end ;
// Canvas.MoveTo( 0 , 100 );
// Canvas.LineTo(i * 30 , 100 );

// Canvas.MoveTo( 0 , 120 );
// Canvas.LineTo(i * 30 , 120 );
// 恢复原有的字体
SelectObject(hTempDc, hPrevFont);
// 删除逻辑字体
DeleteObject(hTempFont);
// 释放设备接口
ReleaseDC(Handle, hTempDC);

 

转载于:.html

更多推荐

更改逻辑字体

本文发布于:2024-02-27 19:38:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765792.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:逻辑   字体

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!