这让我发疯,所以......
将图像调整为小缩略图时,IE和FF无法完整显示生成的图像。 Opera正确显示图像,并且还可以预览窗口图像。
这是一段调整大小的代码:
final_image = New System.Drawing.Bitmap(92, 110)
graphic = System.Drawing.Graphics.FromImage(final_image)
graphic.FillRectangle(New System.Drawing.SolidBrush(System.Drawing.Color.White), New System.Drawing.Rectangle(0, 0, 92, 110))
graphic.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
graphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality
graphic.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality
graphic.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality
graphic.DrawImage(original_image, 0, 0, 92, 110)
Dim info() As Drawing.Imaging.ImageCodecInfo = Drawing.Imaging.ImageCodecInfo.GetImageEncoders()
Dim encoderParameters As Drawing.Imaging.EncoderParameters
encoderParameters = New Drawing.Imaging.EncoderParameters(1)
encoderParameters.Param(0) = New Drawing.Imaging.EncoderParameter(Drawing.Imaging.Encoder.Quality, 100L)
结果:
如果您的浏览器正确显示上面的图像(从FF3捕获屏幕):
Screen capture from FF3 http://incito.hr/Clipboard02.png
但是,如果我将缩略图大小增加到126x150 - 一切都很好,在所有浏览器中:
答案 0 :(得分:3)
答案 1 :(得分:0)
您可能需要在Flush
个实例上调用Graphics
,即:
graphic.Flush();
在完成所有绘制操作之后,在从位图发出流之前执行此操作。
答案 2 :(得分:0)
这取决于绘图上下文,可能需要调用Save或Flush方法来解决,如Earwicker所述。