如何在mm与象素之间进行转换?急!(50分)

  • 主题发起人 主题发起人 yanghaijun
  • 开始时间 开始时间
Y

yanghaijun

Unregistered / Unconfirmed
GUEST, unregistred user!
很久以前用过,但现在忘光了。
 
首先根据不同的设备,比如显示器或打印机,
利用DeviceCapabilities()或GetDeviceCaps一类的API函数
应该可以;
声明一下,我没试过,自己看SDK文档吧!
 
1英寸=2.54厘米=25.4毫米
所以你只要知道1英寸有多少像素,就知道毫米和像素的转换关系!
VAR
bi:BITMAPINFOHEADER;
TM:TMemoryStream;
Fdpi:Integer;
begin
TM:=TMemoryStream.create;
TM.LoadFromFile('e:/图片/yunwen3.bmp');
TM.seek(sizeof(BITMAPFILEHEADER),0);
TM.Read(bi,sizeof(BITMAPINFOHEADER));
dpi :=Round((bi.BixpelsperMeter*2.54) / 10);
TM.free;
end;
这里的Fdpi就是一英寸含有的像素数目!!!
 
我已知道18bit=5mm
谢谢。
 
后退
顶部