但肯定可以得到原始的尺寸的,你扫描不同大小的位图,到word看看,word显示了扫描前位图的实际尺寸,这个尺寸可能是根据计算得到的,位图的头好象包含像素尺寸,和每厘米包含的像素。
解决方案 »
- Turbo Delphi 2007什么时候发布?
- 主界面问题
- 我想用代码让OFFICE打开一个文件比如说C:\abc.xls,应该怎么写呀?大虾快来帮我~~!
- 如何保存1对多结构的多表查询???
- 请教:如何解决半个汉字的问题?
- Delphi 2005可以下载了。。。。
- 出售"反黄卫士"3.0源码! 有意者请联系[email protected] 网址:www.hrbec.com/fanhuang/index.htm
- 请教:如何把同一个程序中的所有窗体都显示在状态栏上,就象用IE打开一个新的页面一样的效果。
- 有关向文本框添加数据的问题 急!急!给分70
- 不知道Delphi中有无这样的函数
- 请教:如何初始化TADOQuery?
- 在win2000的组件服务中,“错误代码80080005,服务器运行失败”如何解决?
目标象素点数=—————————————
获得的系统尺寸 最后用stretch函数即可。这种方法在不同类型的显示器上大小是差不多的。
然后在bmp的头信息里面得到位图的大小。
算一下就ok了。
good luck
DIBSECTION ds;
GetObject(hBitmap, sizeof(ds), &ds);
if(ds.dsBmih.biXPelsPerMeter && ds.dsBmih.biYPelsPerMeter)
{
float fWidthMeter = (float)ds.dsBmih.biWidth/(float)ds.dsBmih.biXPelsPerMeter;
float fHeightMeter = (float)(abs(ds.dsBmih.biHeigth))/(float)ds.dsBmih.biYPelsPerMeter;
}
但是这并不总是可靠的,因为很多Bitmap中biXPelsPerMeter和biYPelsPerMeter并没有填入值。