Vb.net 在Win XP机器上打开的TIFF图像质量较差
我在网上搜索了很多网页、论坛和其他资源,这两行简单的代码仍然让我发疯:Vb.net 在Win XP机器上打开的TIFF图像质量较差,vb.net,picturebox,tiff,Vb.net,Picturebox,Tiff,我在网上搜索了很多网页、论坛和其他资源,这两行简单的代码仍然让我发疯: Dim ImageFile As FileStream = File.Open("C:\Programowanie\Indeksowanie\01.tif", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite) ImageBox.Image = CType(Bitmap.FromStream(ImageFile), Bitmap) 在Win7或Win8上运行时
Dim ImageFile As FileStream = File.Open("C:\Programowanie\Indeksowanie\01.tif", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
ImageBox.Image = CType(Bitmap.FromStream(ImageFile), Bitmap)
在Win7或Win8上运行时,效果非常好。图片框显示全部32位颜色。在Win XP上运行时,图像质量急剧下降(只有黑白),这是不可接受的。有什么解决办法吗?我无法转换为JPEG格式,因为我需要处理多页扫描文档(业务要求)。最终我得到了它。结果不是我预期的100%,但可以接受,屏幕上显示的效果比以前好得多。下面是一段代码:
Dim fs As FileStream = File.Open("C:\Programowanie\Indeksowanie\01.tif", FileMode.Open, FileAccess.Read)
Dim bm As Bitmap = CType(Bitmap.FromStream(fs), Bitmap)
Dim temp As New Bitmap(bm.Width, bm.Height)
Dim g As Graphics = Graphics.FromImage(temp)
Dim ScaledWidth As Integer = CInt(Math.Round((ImageBox.Height / bm.Height) * bm.Width))
g.InterpolationMode = InterpolationMode.HighQualityBicubic
g.CompositingQuality = CompositingQuality.HighQuality
g.DrawImage(bm, 0, 0, ScaledWidth, ImageBox.Height)
ImageBox.Image = temp
XP有一个旧版本的GDI+,版本1.00。Vista推出了1.10版,并进行了许多修复。不,你不能轻易地更新它。TIFF表示数千种不兼容的文件格式,请尝试另一种。好的,但无论如何,图片在系统查看器中显示得非常好,因此我不敢相信您无法使.net软件也正确显示它。你知道我可以试试什么吗?