如何知道某字符串的象素宽度和高度?

字符串的像素处理 java字符串的像素处理,java字符串的像素处理,java字符串的像素处理, 立即下载

在MFC下运行此函数,
AAAA,BBBB情况下与抓图比较,差异比较大,CCCC最接近,可能绘图最好


void CCoolTabCtrl::GetTextSize(LPCTSTR lpszText, int nCount, CSize &size)
{
 size.cx = 0;
 size.cy = 0;
 /*AAAA*********************************************
 /*CString ss("Customized Split Size (0.00 MB)");
 CClientDC dc(this);
 int nSave = dc.SaveDC();
 CFont font;  
 font.CreateStockObject(SYSTEM_FONT);  
 LOGFONT lf;  
 memset(&lf,   0,   sizeof(LOGFONT));  
 font.GetLogFont(&lf);  
 lf.lfWidth = 6;
 lf.lfHeight = 8;
 strcpy(lf.lfFaceName, "宋体");
 dc.SelectObject(font);
 size = dc.GetTextExtent( lpszText, nCount );

 CRect rc(0,0,0,0);
 dc.DrawText(ss, &rc, DT_CALCRECT);
 CSize s = dc.GetTextExtent("Customized Split Size (0.00 MB)");
 CSize c;
 GetTextExtentPoint32(dc,"Customized Split Size (0.00 MB)",31, &c);
 dc.RestoreDC(nSave);
//宽度:0xd1
 */

 /*BBBB*********************************************
 HDC   hdc=::GetDC(*this);  
 TEXTMETRIC tm;  

 LPCTSTR szString = "Customized Split Size (0.00 MB)";
 ::GetTextMetrics(hdc,&tm);  
 ::GetTextExtentPoint32(hdc, szString, lstrlen(szString),&size);  
 int   cx=size.cx;//宽度  
 int   cy=tm.tmHeight+tm.tmExternalLeading;//高度 
宽度:0xd1
 */
 
 /*CCCC*********************************************/
 CClientDC dc(this);
 NONCLIENTMETRICS ncm;
 ncm.cbSize = sizeof(NONCLIENTMETRICS);
 SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, 0);

 CRect rc(0,0,0,0);
 CFont font;
 font.CreateFontIndirect(&ncm.lfMessageFont);
 // 将字体选进DC
 CFont* pOldFont = dc.SelectObject(&font);
 // 计算文本大小
 CString str("Customized Split Size (0.00 MB)");
 dc.DrawText(str, rc, DT_CALCRECT);
 // 回复旧字体-这是必须的
 dc.SelectObject(pOldFont);
// 宽度:0x96 与抓图下的象素值最接近
}


文章出处:http://www.diybl.com/course/3_program/c++/cppjs/2008717/133429.html

通达信强龙趋势幅图指标 - 精准捕捉趋势,把握强势行情,多角度分析个股,强弱一目了然 STICKLINE(趋势>0 AND SJTJ,4.8,5.8,1.5,0),COLORYELLOW;STICKLINE(资金>0 AND SJTJ,1.2,2.2,1.5,0),COLOR0080FF;STICKLINE(异动>0 AND SJTJ,0,1,1.5,0),COLORFF0080;STICKLINE(异动=0 AND SJTJ,0,1,1.5,1),COLORGRAY; 阅读详情

相关推荐

基于立创EDA的8口全千兆POE交换机设计详解:RTL8370N芯片与90W大功率供电方案

本文详细解析了基于立创EDA设计的8口全千兆POE交换机方案,核心采用RTL8370N交换芯片与支持90W大功率供电的IEEE 802.3bt标准PD芯片。文章深入探讨了PSE/PD供电管理、电源架构设计、电路细节及关键散热方案,为DIY或学习POE交换机硬件设计提供了完整的开源实践指南。

weixin_29050829的博客 1万+

MFC 获取字符串像素高度和宽度

方法一:// 取文本的尺寸 CRect rc; CFont *pOldfont=pdc->SelectObject(&fn); // 设置新字体 pDC->DrawText(L"一二三", rc, DT_CALCRECT);方法二:void CDrawPic::AccountStr(CDC *pdc, int &width,

zp33 1万+

[Vue][面试]谈谈你对MVC、MVP和MVVM的理解

谈谈你对MVC、MVP和MVVM的理解 答题思路:此题涉及知识点很多,很难说清楚,说透彻,因为MVC,MVP这些我们前端程序员自己甚至都没用过。但是恰恰反映了前端这些年从无到有, 从有到优的变迁过程,因此沿此思路回答将十分清除。 Web1.0时代 在web1.0时代,并没有前端的概念。开发一个web应用多数采用ASP.NET/Java/PHP编写,项目通常由多个aspx/jsp/php文件构成,每个文件中同时包含了HTML、CSS、JavaScript、C#/Java/PHP代码, 系统整体架构可能如下图所

你好,欢迎光临! 723

MFC--获取字符串的像素尺寸

CDC* pDC = GetDC(); CSize size = pDC->GetTextExtent(_T("GG"));//size.cx 为字符串所占水平方向的像素数 //size.cy 为字符串所占垂直方向的像素数

SealedGhost的专栏 2707

【零基础入门unity游戏开发——unity通用篇12】导入导出unity资源包、设置编程工具、创建脚本(组件)规则、MonoBehaviour基类介绍、脚本模板(基于unity6开发介绍)

导入导出unity资源包、设置编程工具、创建脚本(组件)规则、MonoBehaviour基类介绍、脚本模板(基于unity6开发介绍)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 757

使用R语言获取data.frame中指定列的数据

这里以"df"为例,包含三列数据:“列1”、“列2"和"列3”。通过以上代码,我们成功获取了"列1"和"列3"的数据,并将它们分别存储在了变量"column1"和"column3"中。假设我们有一个名为"df"的data.frame,其中包含了多个列,我们想要提取其中的某一列。符号,我们可以从data.frame中提取出"列2"的数据,并将其赋值给变量"column2"。符号,我们可以轻松提取出data.frame中特定列的数据,并将其存储在变量中供进一步的分析和处理使用。假设我们要获取"列2"的数据。

DevRevolt的博客 2321

MFC——获取当前字体的高度、宽度等信息

当我们想往屏幕上面写多行内容时,我们需要之前当前文本的宽度和高度信息。我们可以采用以下方法: void CDialogView::OnDraw(CDC* pDC) { CDialogDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; CFont font; font.CreatePointFont(...

huanhuanxiaoxiao的博客 8774

Allan方差这个工具,怎么把它用的更顺手?(附Allan方差、动态Allan方差代码)

本文详细说明了Allan方差和动态Allan方差的计算过程,并通过递归运算和时间序列选择两种算法提高动态Allan方差的计算效率。文末提供了快速动态Allan方差计算代码。

victoryqian528的博客 372

MFC GetTextExtend与GetTextMetric的区别

GetTextExtend  获取的是字符串在屏幕上所占的高度和宽度。 GetTextMetric   获取当前所用字体信息 结构体 TEXTMETRIC 的主要成员 {      long tmHeight; 字符高度      long tmAscent; 字符上部高度  --基线以上    long tmDescent; 字符下部高度--基线以

番茄炒蛋的专栏 1500

车载以太网-组播

车载以太网-组播

天赐好车的博客 251

解决Office 365 SMTP问题:C#邮件发送详解

本文介绍了如何在C#中使用Office 365 SMTP服务发送邮件。重点讲解了正确配置SMTP客户端的关键参数:必须使用587端口并启用TLS加密(EnableSsl=true),同时通过NetworkCredential进行身份验证。虽然SmtpClient已不推荐用于新项目,但本文提供的代码示例仍适用于临时项目或系统维护,并建议未来可考虑使用MailKit等现代邮件库。文章还包含了错误处理机制,确保程序健壮性。

2501_90323865的博客 140

GetTextExtent、GetTextExtentPoint32 精确无误差的使用注意【vc++ / MFC】

网上有大量的有关“获取字符串的显示宽度”的文章,基本都是用 GetTextExtent 或 GetTextExtentPoint32,但大多数都没说字体的影响,直接结果是误差很大,包括MSDN上的示例: MSDN这段示例原代码: // Pointer to the myListBox. extern CListBox* pmyListBox; // Find the longest string in the list box. CString str; CSize sz; int dx=0

maoyeahcom的博客 4766

笔试题-2023-星宸-数字IC设计【纯净题目版】

4 笔试题-2023-星宸-数字IC设计【纯净题目版】

w0shishabi的博客 1171

GDI+获取字符串实际的输出像素值(高度和宽度)

GDI+获取字符串实际的输出像素值(高度和宽度) 折腾了一个小时..Orz,抛弃CStatic,还是自己画来的自由。 简单来说就是调用Graphics对象的MeasureString函数,下面是一个简单的例子 //创建Graphics对象 CPaintDC dc(this); Graphics gra(dc.m_hDC); //首先创建字体相关 FontFam

siler_ya的专栏 5403

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Delphi中关于Canvas.TextOut的用法

我想让字符串在Canvas上显现出来,但不知道如何改变字底边的颜色,想变成透明或其它色彩都行,只是希望所输出的字符串不会影响到Canvas里边的图形。请问前辈们让如何做呢?Canvas.Font.Color:=clblue;//字体颜色//Canvas.Brush.Color:=clred;//底色Canvas.Brush.Style := bsClear;//透明canvas.textout(0...

weixin_30326741的博客 1154

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

php合成gif 透明字体,PHP生成数据流GIF和PNG透明图形

ImageCreate()函数可创建图像。被创建的图像有两个参数:图像的宽度、图像的高度。ImageCreate(100,80)一句将创建一个宽100个象素、高80个象素的图像,图像格式可为PNG、JPEG和GIF。用ImageCreate()函数创建图像实际上是将TrueType字体文字(TEXT)变成图形格式,所以,我们要往图像变量写入文字,所用函数为ImageString,该函数的用法举例如...

weixin_39875754的博客 266

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

php png 动画,PHP生成GIF和PNG透明图形简单教程

ImageCreate()函数可创建图像。被创建的图像有两个参数:图像的宽度、图像的高度。ImageCreate(100,80)一句将创建一个宽100个象素、高80个象素的图像,图像格式可为PNG、JPEG和GIF。phperz~com用ImageCreate()函数创建图像实际上是将TrueType字体文字(TEXT)变成图形格式,所以,我们要往图像变量写入文字,所用函数为ImageStrin...

weixin_30394975的博客 262

PHP生成数据流GIF和PNG透明图形

<?phpheader("content-type:image/png");$img=ImageCreate(100,35);$bgcolor=ImageColorAllocate($img,0,0,0);$red=ImageColorAllocate($img,255,0,0);$bgcolortrans=ImageColorTransparent($img,$b

创业的程序员 3048

使用LSTM神经网络+CTC loss识别freetype库生成的不定长验证码

文章目录freetype库使用介绍使用freetype库生成不定长验证码使用LSTM神经网络+CTC loss识别freetype库生成的不定长验证码 freetype库使用介绍 freetype为字体字库提供了一套解决方案,支持文字字体渲染等操作,主要还是其为C语言编写,跨平台,为很多不支持矢量字体格式的嵌入式系统提供使用嵌入式字体的可能,且效率不低。我们使用的是从C语言移植过来的python可...

记忆碎片的博客 1693

php 数据图形,PHP生成数据流GIF和PNG透明图形教程及源代码

ImageCreate()函数可创建图像。被创建的图像有两个参数:图像的宽度、图像的高度。ImageCreate(100,80)一句将创建一个宽100个象素、高80个象素的图像,图像格式可为PNG、JPEG和GIF。用ImageCreate()函数创建图像实际上是将TrueType字体文字(TEXT)变成图形格式,所以,我们要往图像变量写入文字,所用函数为ImageString,该函数的用法举例如...

weixin_33782854的博客 286

rc修改DIALOG的实际大小

我们知道可以用记事本打开.rc文件,然后改里面的坐标,来改变对话框大小,如: 以下是rc文件 ///////////////////////////////////////////////////////////////////////////// // // Dialog // IDD_ABOUTBOX DIALOGEX 0, 0, 170, 62 STYLE DS_SETFONT | DS

zhiweiyouzhishenghuo的专栏 3405

2013.04.10——— android BitmapFactory.Options

2013.04.10——— android BitmapFactory.Options 参考:[url]http://blog.youkuaiyun.com/mujianwei/article/details/8016844[/url] [table] |public Bitmap| || |inBitmap| || |如果设置,解码选项“对象的方法,采取将尝试重用这个位图加载内容时。| ...

110

android BitmapFactory.Options

http://blog.youkuaiyun.com/mujianwei/article/details/8016844

山涧溪流 468

快速了解javascript中的offset、client、scroll

先上图,俗话说的好:一图顶千言。图片可以清楚直观的看到每个属性各自代表的偏移量位置。 1.offset 假设 obj 为某个 HTML 控件。 obj.offsetTop:指obj相对于版面或由 offsetParent 属性指定的父坐标的计算上侧位置,单位:像素。 offsetTop = offsetParent的padding - top + 中间元素的offsetHeight + 当前元素的margin - top obj.offsetLeft:指obj相对于版面或由 offsetParen

sxzxiaofeng168的博客 235

html怎么在left退出,HTML offsetLeft,Left,clientLeft的区别

假设 obj 为某个 HTML 控件。obj.offsetTop 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算上侧位置,整型,单位像素。obj.offsetLeft 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置,整型,单位像素。obj.offsetWidth 指 obj 控件自身的绝对宽度,不包括因 overflow 而未显示...

weixin_39974811的博客 208

BOM的学习笔记 一一 window 对象

BOM 的核心对象是 window,在浏览器中, window 对象的双重角色: 通过 JS 访问浏览器窗口的一个接口; ES 规定的 Global 对象; 全局作用域 所有在全局作用域中声明的变量、函数都会变成 window 对象的属性和方法 区别: 全局变量不能通过 delete 操作符删除,而在 window 对象上定义的属性可以 尝试访问未声明的全局变量会抛出错误,但通过查询 win...

qiao_xi的博客 215
上一篇: CToolBar的使用总结(转)
下一篇: VS2005 没有找到MFC80D.DLL的解决方法
code09
博客等级 码龄18年 31粉丝 56原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值