从c#中“用剪切路径保存”的jpg中提取剪切路径信息

问题描述 投票:0回答:1

嗨,如果我用剪切路径保存了 jpg,我如何从 C# 获取该信息?

这段代码可以给我一些元数据,但我认为剪切路径信息是(photoshop?)专有扩展?我怎样才能读到它?

BitmapDecoder decoder = new JpegBitmapDecoder(new FileStream(filespec, FileMode.Open), BitmapCreateOptions.None, BitmapCacheOption.None);
BitmapMetadata meta = (BitmapMetadata)decoder.Frames[0].Metadata;
return meta.Keywords.ToArray<string>();
c# image-processing photoshop
1个回答
0
投票

不幸的是,使用 C# 中的标准 .NET 库直接从“用clipping path保存”的 JPG 中提取clipping path信息是不可能的。 JPG 本身不支持剪切路径。

以下是两种可能的方法:

使用外部工具:

ImageMagick:这个流行的图像处理库可以识别各种格式的剪切路径,包括带有嵌入路径的JPG。您可以使用 -verbose 标志调用 ImageMagick 中的 recognize.exe 工具来获取有关图像的详细信息,包括剪切路径数据(如果存在)。然后,您可以解析 C# 代码中的输出以提取路径信息。

替代图像格式: 如果您可以控制图像的保存方式,请考虑使用 PSD(Photoshop 文档)或带有 Alpha 通道的 PNG 等格式。这些格式明确支持剪切路径,并且可以使用 System.Drawing.Common 或第三方库等库来读取和访问 C# 中的路径数据。

以下是一些可能有用的资源:

Stack Overflow 关于该主题的讨论:[Stack Overflow - 从 Stack Overflow stackoverflow.com 上的 jpg 中提取剪切路径信息] ImageMagick 文档:[ImageMagick 上的 ImageMagick 图像识别 imagemagick.org]

请记住,虽然 C# 中没有内置直接访问 JPG 的剪切路径,但使用外部工具或替代图像格式可以为您的特定需求提供解决方法。

© www.soinside.com 2019 - 2024. All rights reserved.