字体号数与像素对应关系

标准固定 

1 英寸=25.4 毫米

1 寸=33.3333333 毫米

1点(英美点)(PT)(磅)=0.3527毫米=1/72英寸(Office里面的点)

 字体号数与像素对应关系

Word默认的图片分辨率96dpi,像素必须为整数。程序计算时尽量先算乘法再除。

八号=5磅(5pt)=(5/72)*96=6.67=6px

七号=5.5磅=(5.5/72)*96=7.3=7px

小六=6.5磅=(6.5/72)*96=8.67=8px

六号=7.5磅=(7.5/72)*96=10px

小五=9磅=(9/72)*96=12px

五号=10.5磅=(10.5/72)*96=14px

小四=12磅=(12/72)*96=16px

四号=14磅=(14/72)*96=18.67=18px

小三=15磅=(15/72)*96=20px

三号=16磅=(16/72)*96=21.3=21px

小二=18磅=(18/72)*96=24px

二号=22磅=(22/72)*96=29.3=29px

小一=24磅=(24/72)*96=32px

一号=26磅=(26/72)*96=34.67=34px

小初=36磅=(36/72)*96=48px

初号=42磅=(42/72)*96=56px

DPI(dots per inch) PPI(pixel per inch) 求一张图片在某分辨率下的实际尺寸?求计算机显示器PPI? MFC按600dpi时的实际物理尺寸打印图片_小黄人软件的博客-CSDN博客

CFont font;
	font.CreateFont(37.5, // nHeight 
		37.5, // nWidth 
		0, // nEscapement 
		0, // nOrientation 
		FW_NORMAL, // nWeight 
		FALSE, // bItalic 
		FALSE, // bUnderline 
		0, // cStrikeOut 
		ANSI_CHARSET, // nCharSet 
		OUT_DEFAULT_PRECIS, // nOutPrecision 
		CLIP_DEFAULT_PRECIS, // nClipPrecision 
		DEFAULT_QUALITY, // nQuality 
		VARIABLE_PITCH | FF_SWISS, // nPitchAndFamily 
		_T("黑体")); // lpszFac
	//font.CreatePointFont(281.25, _T("黑体")); //即4.5pt
	SelectObject(memDC, font);
	SetBkMode(memDC, TRANSPARENT);
HFONT CreateFont(
int cHeight, //字体的逻辑高度
int cWidth, //字体的逻辑宽度
int cEscapement, //指定移位向量相对X轴的偏转角度
int cOrientation, //指定字符基线相对X轴的偏转角度
int cWeight, //设置字体粗细程度
DWORD bItalic, //是否启用斜体
DWORD bUnderline, //是否启用下划线
DWORD bStrikeOut, //是否启用删除线
DWORD iCharSet, //指定字符集
DWORD iOutPrecision, //输出精度
DWORD iClipPrecision, //剪裁精度
DWORD iQuality, //输出质量
DWORD iPitchAndFamily, //字体族
LPCSTR pszFaceName //字体名
);

CreatePointFont

这个函数提供了一种简单的方法来创建指定字体类型和字体大小 。

函数原型:

  BOOL CreatePointFont(

  int nPointSize,

  LPCTSTR lpszFaceName,

  CDC* pDC = NULL

  );
 

nPointSize参数是磅的十倍,但是磅如何和像素点进行转化呢?
二者的关系为:
像素点数 = 96* 磅数/72
也就是说
磅数 = 像素点数 *72/96

 一般打印标签文件标示的都是分辨率是96,比如4.5pt磅, 求转分辨率是600对应的磅?

先算600时的像素A=4.5*600/72

再算对应96时的磅B=A*72/96

即4.5*600/96=28.125  再*10 即281.25

font.CreatePointFont(281.25, _T("黑体")); //即4.5pt

 

我还有点不明白,如何转为最上面的像素 宽和高,但这里只有一个4.5pt,转换后也只有一个值,这是怎么计算的?还是指对角线长度?字号大小就是字体的高度?

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄人软件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值