gpt4 book ai didi

c# - 从多页 tiff 中提取帧 - C#

转载 作者:太空狗 更新时间:2023-10-30 00:46:24 27 4
gpt4 key购买 nike

有一个多页 tiff,我想从这个 Tiff 文件中提取 page[n]/frame[n] 并保存。

如果我的多页 tiff 有 3 个帧,在我提取一页/帧后 - 我想留下

1 张图像有 2 页/帧和

1 张图像只有 1 页/框架。

最佳答案

这里是一些代码,用于将多帧 tiff 中的最后一帧保存到单页 tiff 文件中。(为了使用此代码,您需要添加对 PresentationCore.dll 的引用)。

Stream imageStreamSource = new FileStream(imageFilename, FileMode.Open, FileAccess.Read, FileShare.Read);
MemoryStream memstream = new MemoryStream();
memstream.SetLength(imageStreamSource.Length);
imageStreamSource.Read(memstream.GetBuffer(), 0, (int)imageStreamSource.Length);
imageStreamSource.Close();

BitmapDecoder decoder = TiffBitmapDecoder.Create(memstream,BitmapCreateOptions.PreservePixelFormat,BitmapCacheOption.Default);

Int32 frameCount = decoder.Frames.Count;

BitmapFrame imageFrame = decoder.Frames[0];

MemoryStream output = new MemoryStream();
TiffBitmapEncoder encoder = new TiffBitmapEncoder();
encoder.Frames.Add(imageFrame);
encoder.Save(output);

FileStream outStream = File.OpenWrite("Image.Tiff");
output.WriteTo(outStream);
outStream.Flush();
outStream.Close();
output.Flush();
output.Close();

关于c# - 从多页 tiff 中提取帧 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3398881/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com