.net 如何避免Graphics.DrawImage抖动?

.net 如何避免Graphics.DrawImage抖动?,.net,drawing,dithering,.net,Drawing,Dithering,我想在另一张图片上画一张图片,然后将其转储到HttpResponse。我的代码如下所示: //file name points to a gif image System.Drawing.Image originalImage = System.Drawing.Image.FromFile(filename); System.Drawing.Image smallImage = System.Drawing.Image.FromFile(smallFilename); using(Bitmap

我想在另一张图片上画一张图片,然后将其转储到HttpResponse。我的代码如下所示:

//file name points to a gif image
System.Drawing.Image originalImage = System.Drawing.Image.FromFile(filename);
System.Drawing.Image smallImage = System.Drawing.Image.FromFile(smallFilename);

using(Bitmap tempImage = new Bitmap(originalImage))
{
    Graphics graphics = Graphics.FromImage(tempImage);
    PointF ulCorner = new PointF(10.0F, 10.0F);
    graphics.DrawImage(windfarmImage, ulCorner);
}

tempImage.Save(Response.OutputStream, ImageFormat.Gif);
如果我把最后一行改为

保存(Response.OutputStream,ImageFormat.Jpeg)


它解决了这个问题。但我必须有png作为一个结果。我可以从原始文件中保留调色板吗?原始文件是gif,因此应该可以在不丢失任何颜色的情况下生成gif。

如果源图像有大量颜色,则将文件保存为gif可能会导致一些抖动,因为调色板大小减少到256色


是否需要将文件保存为Gif,或者是否可以尝试其他格式(如Jpeg或Png)?

如果源图像有大量颜色,则将文件保存为Gif可能会导致一些抖动,因为调色板大小减小到256色


是否需要将文件保存为Gif格式,或者可以尝试其他格式(如Jpeg或Png)?

原始文件是Gif格式,我必须按此方式保存原始文件是Gif格式,我必须按此方式保存