我有一个bmp图片是300dpi的,我要把他转换成200dpi的
而且他的大小也会跟着随之改变
比喻说
300dpi下一个图片是宽:263,高398,在200dpi下就是宽176,高265
就象photoshop中的'图片大小'中改边dpi时高宽也同时变化的
那样,图片的存储大小也回变化

解决方案 »

  1.   

    用GDI+的
    SetResolution(96, 96)方法!这里是96DPI的Image := TGPImage.Create('A.BMP');
    GetEncoderClsid('image/bmp', encoderClsid);
    TGPBitmap(image).SetResolution(200, 200);
    image.Save('B.bmp', encoderClsid);
      

  2.   

    其实dpi分辨率只是针对打印或扫描而言,跟像素分辨率没有必然的关系。因为一般图像中没有存储物理大小,所以也只好通过修改像素来适应了。不过如果打印模块是你自己做的话,完全可以不缩减像素,那样可以获得更精致的打印效果。