gpt4 book ai didi

c# - 使用 .Net 替换现有多页 Tiff 中的图像

转载 作者:太空宇宙 更新时间:2023-11-03 14:34:02 24 4
gpt4 key购买 nike

如何使用 .Net 将多页 tiff 文件的第一页替换为新图像。最好不要创建新文件。

最佳答案

我认为如果不创建另一个文件就无法做到这一点。

你可以先读取所有图片,替换你想替换的图片,关闭原始源,然后用新的多页TIFF文件替换文件,但我相信它会占用大量内存。我会一次读取一张图片,然后将其写入一个新文件,最后一步是更改文件名。

类似于:

 // open a multi page tiff using a Stream
using(Stream stream = // your favorite stream depending if you have in memory or from file.)
{
Bitmap bmp = new Bitmap(imagePath);

int frameCount = bmp.GetFrameCount(FrameDimension.Page);

// for a reference for creating a new multi page tiff see:
// http://www.bobpowell.net/generating_multipage_tiffs.htm
// Here all the stuff of the Encoders, and all that stuff.

EncoderParameters ep = new EncoderParameters(1);
ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.MultiFrame);

Image newTiff = theNewFirstImage;

for(int i=0; i<frameCount; i++)
{
if(i==0)
{
// Just save the new image instead of the first one.
newTiff.Save(newFileName, imageCodecInfo, Encoder);
}
else
{
Bitmap newPage = bmp.SelectActiveFrame(FrameDimension.Page);
newTiff.SaveAdd(newPage, ep);
}
}


ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.Flush);
newTiff.SaveAdd(ep);
}
// close all files and Streams and the do original file delete, and newFile change name...

希望对您有所帮助。对于 .NET 成像中的问题,Bob Powell 页面有很多好东西。

关于c# - 使用 .Net 替换现有多页 Tiff 中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1785236/

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