word中px,pt,dpi,in,em,twip,emu之间的关系

本文详细介绍了长度单位英寸(in)、磅(pt)、像素(px)、相对长度单位em、TWIP以及字号在不同系统和环境下的换算关系。还提供了DPI的计算方法,帮助理解这些单位在计算机图形和打印领域的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

inch英寸

英寸是使用于联合王国(UK,即英国(英联邦)及其前殖民地)的长度单位,英文简写in,1in=2.54cm,12英寸为1英尺,36英寸为1。英寸的符号为"

pt

point,磅,是一个物理长度单位,指的是72分之一英寸

1inch = 72pt,1pt = 1/72inch

px

pixel,像素,是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定DPI(Dots Per Inch,每英寸像素数),在扫描打印时一般都有DPI可选。windows系统默认是96dpi,Apple系统默认是72dpi。

dpi

DPI(Dots Per Inch,每英寸像素数),在扫描打印时一般都有DPI可选。windows系统默认是96dpi,Apple系统默认是72dpi。

em

相对长度单位,相当于当前对象内文本的字体尺寸,最初是指字母M的宽度,故名em。现指的是字符宽度的倍数,用法类似百分比,如:0.8em,1.2em,2em等。通常1em=16px

字号:

是中文字库中特有的一种单位,以中文代号表示特定的磅值pt,便于记忆、表述。

TWIP

word中xml中的长度单位.

1pt=20twip

1px=15twip

1inch=1440twip

不同字体对应大小:

"初号" = 42磅 = 840缇

"小初" = 36磅 = 720

"一号" = 26磅 = 520

"小一" = 24磅 = 480

"二号" = 22磅 = 440

"小二" = 18磅 = 360

"三号" = 16磅 = 320

"小三" = 15磅 = 300

"四号" = 14磅 = 280

"小四" = 12磅 = 240

"五号" = 10.5磅 = 210

"小五" = 9磅 = 180

"六号" = 7.5磅 = 150

"小六" = 6.5磅 = 130

"七号" = 5.5磅 =110

"八号" = 5磅 = 100

emu

100mm=360emu (100mm是一毫米放大一百倍,该单位是uno层的单位)

1磅=12700emu(emu一般是形状锚点里面的单位,xml文件中如果有很大的数字,第一眼可以猜测就是emu)

换算关系

在windows下96dpi来计算,1pt=96/72px=4/3px

字号

pt

px

em

初号

42pt

56px

3.5em

小初

36pt

48px

3em

34pt

45px

2.75em

32pt

42px

2.55em

30pt

40px

2.45em

29pt

38px

2.35em

28pt

37px

2.3em

27pt

36px

2.25em

一号

26pt

35px

2.2em

25pt

34px

2.125em

小一

24pt

32px

2em

二号

22pt

29px

1.8em

20pt

26px

1.6em

小二

18pt

24px

1.5em

17pt

23px

1.45em

三号

16pt

22px

1.4em

小三

15pt

21px

1.3em

14.5pt

20px

1.25em

四号

14pt

19px

1.2em

13.5pt

18px

1.125em

13pt

17px

1.05em

小四

12pt

16px

1em

11pt

15px

0.95em

五号

10.5pt

14px

0.875em

10pt

13px

0.8em

小五

9pt

12px

0.75em

8pt

11px

0.7em

六号

7.5pt

10px

0.625em

7pt

9px

0.55em

小六

6.5pt

8px

0.5em

七号

5.5pt

7px

0.4375em

八号

5pt

6px

0.375em

获取DPI

#include <iostream>
#include <windows.h>
#include <math.h>
using namespace std;

// 1毫米=0.039370078740157英寸 
#define INCH 0.03937

float GetDPI()
{
    HDC hdcScreen;
    hdcScreen = CreateDC(L"DISPLAY", NULL, NULL, NULL);

    int iX = GetDeviceCaps(hdcScreen, HORZRES);    // pixel
    int iY = GetDeviceCaps(hdcScreen, VERTRES);    // pixel
    int iPhsX = GetDeviceCaps(hdcScreen, HORZSIZE);    // mm
    int iPhsY = GetDeviceCaps(hdcScreen, VERTSIZE);    // mm

    if (NULL != hdcScreen)
    {
        DeleteDC(hdcScreen);
    }
    float iTemp = iPhsX * iPhsX + iPhsY * iPhsY;
    float fInch = sqrt(iTemp) * INCH;
    iTemp = iX * iX + iY * iY;
    float fPixel = sqrt(iTemp);

    float iDPI = fPixel / fInch;    // dpi pixel/inch
    cout << "DPI:" << iDPI << endl;
    return iDPI;
}

int main()
{
    GetDPI();
    system("pause");
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值