我通过网络搜索了很多网页,论坛和其他资源,这两行简单的代码仍让我发疯:
Dim ImageFile As FileStream = File.Open("C:\Programowanie\Indeksowanie\01.tif", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
ImageBox.Image = CType(Bitmap.FromStream(ImageFile), Bitmap)
在Win 7或8上运行时,它可以正常运行。图片框显示完整的32位颜色。在Win XP上运行时,图像质量会急剧下降(只有黑色和白色),这是不可接受的。任何解决方法的想法?我无法转换为jpegs,因为我需要处理多页扫描文档(业务要求)。
答案 0 :(得分:0)
最终我得到了它。结果不是我预期的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