天天看點

ExternalException (0x80004005) A generic error occurred in GDI+

有時候我們希望儲存一個圖像品質是高品質的。可是卻出現了

ExternalException (0x80004005) A generic error occurred in GDI+

下面是代碼

使用AForge.net進行圖檔顔色替換 string filePath = Server.MapPath("~/...");//你的圖檔位址 Bitmap bmp = new Bitmap(filePath); string htmlColor= "#"+Request.QueryString["color"]; Color newColor = System.Drawing.ColorTranslator.FromHtml(htmlColor); IntRange red= new IntRange(217,217); IntRange green = new IntRange(20,20); IntRange blue = new IntRange(31,31); ColorFiltering colorFilter = new ColorFiltering(red, green, blue); colorFilter.FillOutsideRange = false; colorFilter.FillColor = new AForge.Imaging.RGB(newColor); Bitmap bitmap = colorFilter.Apply(AForge.Imaging.Image.Clone(bmp,PixelFormat.Format32bppRgb)); Encoder enc = Encoder.Quality; EncoderParameters eps = new EncoderParameters(1); EncoderParameter ep = new EncoderParameter(enc, 80L); eps.Param[0] = ep; ImageCodecInfo codecInfo = ImageCodecInfo.GetImageEncoders()[0]; MemoryStream stream = new MemoryStream(); //bmp.Save(Response.OutputStream, codecInfo, eps);

//bmp.Save(Response.OutputStream, ImageFormat.Bmp); bitmap.Save(stream,codecInfo,eps); stream.WriteTo(Response.OutputStream);

Response.ContentType = "image/jpeg";

Response.End(); 

繼續閱讀