我想讓用戶指定厘米數來顯示某個圖片.但顯示在視窗上卻偏小,量了量沒有4厘米

核心代碼如下:
double pixelPerCM=this->PixelsPerInch/2.54;//得到每厘米的像素
ImageList1->Width=m_width*pixelPerCM;
ImageList1->Height=m_height*pixelPerCM;
m_width和m_height都是4,但螢屏上離4厘米可差著呢
uj5u.com熱心網友回復:
不同的顯示幕,點距或像素間距不同怎么破?uj5u.com熱心網友回復:
用GetDeviceCaps取LOGPIXELSX、LOGPIXELSY再換算。uj5u.com熱心網友回復:
LOGPIXELSX:沿螢屏寬度每邏輯英寸的像素數,在多顯示幕系統中,該值對所顯示幕相同;
LOGPIXELSY:沿螢屏高度每邏輯英寸的像素數,在多顯示幕系統中,該值對所顯示幕相同;
邏輯英寸,等于實際量的英寸嗎?
uj5u.com熱心網友回復:
不一定等于,對于支持DDC/CI、E-EDID的顯示幕,作業系統可以獲取它的引數資訊,所以這些資料應該是準確的,對于更早期的顯示幕,肯定是不準的,windows假設顯示幕為72DPI(我印象是這樣的),基本上90年代末以來的顯示幕都沒有問題。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/60147.html
上一篇:c++
