我刚刚发现 TIFF 有多种格式。由于某种原因,使用时
Using bm As New Bitmap(rect.Width, rect.Width)
bm.Save("C:\testfolder\screenshot.png", Imaging.ImageFormat.Tiff)
格式变为 LZW 压缩格式,我不能在第三方库中使用它。
经过一些搜索,我发现.NET 确实提供了一个库来保存为具有不同压缩选项的 TIFF,我想尝试所有这些但我不知道如何实现它。或者我应该说我不知道如何使用它:
https://learn.microsoft.com/en-us/dotnet/api/system.windows.media.imaging.tiffcompressoption?view=netframework-4.8#examples
目的是我想获取区域截图并将其保存为 TIFF。
Dim stream As New FileStream("new.tif", FileMode.Create)
Dim encoder As New TiffBitmapEncoder()
encoder.Compression = TiffCompressOption.Zip
encoder.Frames.Add(BitmapFrame.Create(image)) <--what is this "image"?
encoder.Save(stream)
那个image实体是什么?流?如何将捕获的屏幕截图区域另存为 TIFF?
如果
Using bm As New Bitmap(rect.Width, rect.Width)
我不介意先保存它,然后再重新读取 bmp 流。唯一的问题是我不知道示例中给出的“图像”代表什么。
我从这里阅读了一些信息,但我仍然没有弄明白: https ://learn.microsoft.com/en-us/dotnet/api/system.windows.media.imaging.bitmapframe.create?view=netframework- 4.8
如果你弄明白了,请给我一个如何使用代码的例子。
紫衣仙女
相关分类