gpt4 book ai didi

C# - 从 tif 文件中删除属性标签项

转载 作者:行者123 更新时间:2023-11-30 20:54:00 25 4
gpt4 key购买 nike

我正在尝试从 tif 文件中清除一些属性标签项。
我的测试代码是:

Image sourceImg = new Bitmap("A10034.tif");
Image img = (Image)sourceImg.Clone();
sourceImg.Dispose();

PropertyItem[] propertyItemsList = img.PropertyItems;
foreach (PropertyItem property in propertyItemsList)
{
if ((property.Id == 270 || property.Id == 271 || property.Id == 272 || property.Id == 305 ||
property.Id == 315 || property.Id == 316) || (property.Id > 320 && property.Id != 33432))
{
img.RemovePropertyItem(property.Id);
}
}

ImageCodecInfo Encoder = GetEncoderInfo("image/tiff");
EncoderParameters EncoderParams = new EncoderParameters(2);
EncoderParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, (Int64)EncoderValue.CompressionNone);
EncoderParams.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
if (System.IO.File.Exists("cleared_A10034.tif"))
{
System.IO.File.Delete("cleared_A10034.tif");
}
img.Save("cleared_A10034.tif", Encoder, EncoderParams);
img.Dispose();

这在 WinXp 和 Win 8 中有效,但在 Win 7 中无效。
目标文件中的所有标签与 Win7 中的源文件相同。什么都不删除。
有什么想法吗?
谢谢。
您可以下载test project如果需要的话。

最佳答案

问题已解决。
我在保存之前添加了图像旋转,现在一切正常。

img.RotateFlip(RotateFlipType.Rotate180FlipNone);
img.RotateFlip(RotateFlipType.Rotate180FlipNone);
img.Save("cleared_" + fileName, Encoder, EncoderParams);

奇怪,但这行得通。

关于C# - 从 tif 文件中删除属性标签项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19460149/

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