C# 更改图像dpi而不更改它';s皮克斯格式
每次我尝试更改图像的dpi时,像素格式(颜色方案-RGB、CMYK等…)似乎都在更改。 在我唯一一次成功保存像素格式时,dpi在调试模式下似乎发生了更改,但在该过程完成后,它会更改回其原始设置 我尝试的代码如下所示:C# 更改图像dpi而不更改它';s皮克斯格式,c#,image,bitmap,resize,dpi,C#,Image,Bitmap,Resize,Dpi,每次我尝试更改图像的dpi时,像素格式(颜色方案-RGB、CMYK等…)似乎都在更改。 在我唯一一次成功保存像素格式时,dpi在调试模式下似乎发生了更改,但在该过程完成后,它会更改回其原始设置 我尝试的代码如下所示: using (var ms = new MemoryStream()) { using (var bmpInput = Image.FromFile(path) as Bitmap) {
using (var ms = new MemoryStream())
{
using (var bmpInput = Image.FromFile(path) as Bitmap)
{
using (var bmpOutput = (Bitmap)bmpInput.Clone())
{
foreach (var id in bmpInput.PropertyIdList)
bmpOutput.SetPropertyItem(bmpInput.GetPropertyItem(id));
if (doResize)
bmpOutput.SetResolution(dpi, dpi);
bmpOutput.Save(ms, bmpInput.RawFormat);
return ms.ToArray();
}
}
}
在用代码保存图像之前,请尝试此操作
Application.DoEvents();