图片转换问题 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiMultimedia/html/delphi_20061016141026235.html
我有一个bmp图片是300dpi的,我要把他转换成200dpi的
而且他的大小也会跟着随之改变
比喻说
300dpi下一个图片是宽:263,高398,在200dpi下就是宽176,高265
就象photoshop中的'图片大小'中改边dpi时高宽也同时变化的
那样,图片的存储大小也回变化
用GDI+的
SetResolution(96, 96)方法!这里是96DPI的
Image := TGPImage.Create('A.BMP');
GetEncoderClsid('image/bmp', encoderClsid);
TGPBitmap(image).SetResolution(200, 200);
image.Save('B.bmp', encoderClsid);
其实dpi分辨率只是针对打印或扫描而言,跟像素分辨率没有必然的关系。因为一般图像中没有存储物理大小,所以也只好通过修改像素来适应了。
不过如果打印模块是你自己做的话,完全可以不缩减像素,那样可以获得更精致的打印效果。