Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在Win XP机器上打开的TIFF图像质量较差_Vb.net_Picturebox_Tiff - Fatal编程技术网

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软件也正确显示它。你知道我可以试试什么吗?