c 刻度 公釐 英吋 畫素轉換

2022-02-13 14:48:48 字數 1493 閱讀 1421

從目前所掌握的資料來看,c#程式中將公釐轉換畫素的方法無非兩種:

第一種:

///

2:

/// 以公釐為單位的顯示寬度

3:

///

4:

const

int horzsize = 4;

5:

///

6:

/// 以畫素為單位的顯示寬度 0~65535

7:

///

8:

const

int horzres = 8;

9:

const

int logpixelsx = 88;

10:

const

int logpixelsy = 90;

11:

public

static

double millimeterstopixelswidth(intptr handle, double length) //length是公釐,1厘公尺=10公釐

12:
20:
21: [system.runtime.interopservices.dllimport("gdi32.dll")]
22:

private

static

extern

int getdevicecaps(intptr hdc, int index);

此種方法計算的值與實際刻度相比:10mm=實際刻度8mm

以此技術的程式:桌面刻度尺

技術文章引用:

在文章中所說的

gdi中有乙個函式是getdevicecaps(),可以獲取一些關於裝置的一些屬性,如horzsize/horzres/logpixelsx等。

以上三者的關係通常滿足:horzsize = 25.4 * horzres/logpixelsx

但是在程式中卻無法滿足該條件。

第二種:

///

2:

/// 1英吋=25.4公釐

3:

///

4:

const

double millimerertopixel = 25.4;

5:
6:

public

static

double millimetertopixel(intptr handle, double length) //length是公釐,1厘公尺=10公釐

7:

此種方法是根據網上的換算關係得來的。得到的值與實際刻度相比:180mm=實際刻度185mm

以此技術的程式:夏克螢幕刻度尺

以目前而言,還無法準確的進行轉換,從而繪製標準刻度尺。如果各位有更好的方法,還望提示下,先謝謝了。

C 畫素和公釐轉換

公釐 畫素 dpi 25.4 畫素 公釐數 25.4 dpi 核心 單位轉換類 公釐數 畫素 dpi 25.4 畫素 公釐數 25.4 dpi public class toolunitconversion 建構函式 物件 1 獲取顯示器的 dpi 2 獲取的 dpi public toolunit...

C 畫素轉公釐

最近用到c 中輸出影象,需要確定影象實際寬高,網上找資料,大部分是說先獲取實際寬度,然後獲取寬方向的畫素點數,計算比例即可。但獲取到的寬度跟我測量的螢幕寬度不一致。dpi倒是獲取正確,最後繞一圈使用了如下寫法,計算出來正確的寬度 system.windows.forms.panel p new sy...

C 中公釐與畫素的換算方法

c 中以畫素作為尺寸單位,畫素是一種相對的尺寸概念,與公釐的轉換與當前顯示器的解析度有關。在不同解析度下轉換的係數不同。借助gdi可以完成公釐至畫素的轉換。public static double millimeterstopixelswidth double length dllimport gd...