改变图片的DPI,比如将DPI是96的图片改变为DPI是147的图片,我们采用的方法是创建一个新的BitmapSource,将原来图片的内容拷贝过来。代码如下:
targetBitmap.CopyPixels(pixelData, width * 4, 0);
BitmapSource bmpSource = BitmapSource.Create(width, height, 147, 147, PixelFormats.Bgra32, null, pixelData, width * 4);
其中targetBitmap是BitmapSource或者其子类,使用CopyPixels函数将图片像素数据拷贝到pixelData(byte[])数组中。之后用拷贝的像素数据新建一个DPI为147的BitmapSource