Tag: metadata

将自定义命名空间添加到元数据(BitmapMetadata)

这是一个简单的问题:如何使用BitmapMetadata正确地将自定义命名空间添加到XMP? 假设我希望命名空间看起来像这样: xmlns:MyNamespace=”http://test” 如何在BitmapMetadata添加命名空间没有明确的方法,所以我尝试了这个: //I retrieve the image frame (Frame[0]), then: var metadata = (BitmapMetadata) frame.Metadata.Clone(); //Covering all bases metadata.SetQuery(“/app1/ifd/PaddingSchema:Padding”, 4096); metadata.SetQuery(“/app1/ifd/exif/PaddingSchema:Padding”, 4096); metadata.SetQuery(“/xmp/PaddingSchema:Padding”, 4096); 现在主要的查询,我尝试了’显而易见的方式’: metadata.SetQuery(“/xmp/MyNamespace:MyTag”, “AwesomeTagValue”); 果然,如果我保存图像,打开它然后运行 var value = (string) metadata.GetQuery(“/xmp/MyNamespace:MyTag”); 它返回正确的值 – AwesomeTagValue。 但问题是,标签被写入具有格式错误的命名空间的文件。 我偷看了文件,这是剥离的XML / RDF视图: … 所以所有的标签都以prefix0为前缀,我希望它是 … 任何想法如何做到这一点,或甚至可能使用BitmapMetadata ?

将元数据写入MemoryStream时,JpegBitmapEncoder.Save()会抛出exception

我试图在JPG图像上设置没有它的元数据。 在这种情况下,您不能使用就地编写器(InPlaceBitmapMetadataWriter),因为图像中没有元数据的位置。 如果我使用FileStream作为输出 – 一切正常。 但是如果我尝试使用MemoryStream作为输出–JpegBitmapEncoder.Save()会抛出exception(来自HRESULT的exception:0xC0000005)。 经过一番调查后,我还发现如果我提供的是null而不是元数据,那么编码器可以将图像保存到内存流中。 我已经做了一个非常简化和简短的例子来重现问题: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Media.Imaging; namespace JpegSaveTest { class Program { public static JpegBitmapEncoder SetUpMetadataOnStream(Stream src, string title) { uint padding = 2048; BitmapDecoder original; BitmapFrame framecopy, newframe; BitmapMetadata metadata; JpegBitmapEncoder output = new JpegBitmapEncoder(); src.Seek(0, […]

如何使用iTextSharp为C#设置现有PDF的版权元数据

如何使用iTextSharp为C#设置现有的版权元数据(即从文件或内存流加载的pdf)pdf文件? 非常感谢

IPTC .NET读/写c#库

我正在寻找一些库来从Jpg文件读取/写入IPTC元数据。 开源或付费,没关系。 它应该适用于.NET 3.5和c#。 有人知道这样的图书馆吗? 我用Google搜索但没有找到任何东西。

用编辑过的jpeg文件覆盖现有的Jpeg文件/替换现有的Jpeg文件

我已经构建了一个程序,允许我通过System.Image.Drawing插入注释和Image的标题,所以现在,我很难尝试用添加了注释和标题的文件覆盖现有的Jpeg文件,但是我在删除文件时遇到错误,所以我不知道该怎么办,因为我已经尝试处理该文件但是在那种情况下我无法保存它,因为我太早处理了它,但我无法保存它因为现有的文件名没有删除所以我现在卡在中间。 这是我的代码: public string EditComment(string OriginalFilepath, string newFilename) { image = System.Drawing.Image.FromFile(OriginalFilepath); PropertyItem propItem = image.PropertyItems[0]; using (var file = System.Drawing.Image.FromFile(OriginalFilepath)) { propItem.Id = 0x9286; // this is the id for ‘UserComment’ propItem.Type = 2; propItem.Value = System.Text.Encoding.UTF8.GetBytes(“HelloWorld\0”); propItem.Len = propItem.Value.Length; file.SetPropertyItem(propItem); PropertyItem propItem1 = file.PropertyItems[file.PropertyItems.Count() – 1]; file.Dispose(); image.Dispose(); string filepath = Filepath; if […]

使用C#编辑PDF文件的元数据

我搜索方法或libarys来编辑pdf文件的元数据,如programm becypdfmetaedit 。 我想写一个程序,我需要在这个程序中使用这个opton。 也许你有一些c#的样本。 谢谢

C#从元数据中获取video文件持续时间

我正在尝试从文件中读取元数据。 我只需要Video – > Length属性,但是我无法找到一种简单的方法来读取这些信息。 我认为这很容易,因为它在资源管理器中默认是可见的,但是这看起来比我预期的要复杂得多。 我最接近的是使用: Microsoft.DirectX.AudioVideoPlayback.Video video = new Microsoft.DirectX.AudioVideoPlayback.Video(str); double duration = video.Duration; 但是这会引发LoaderLockexception,我不知道如何处理它。 有任何想法吗?

阅读写WAV / RIFF标签

我正在编写一个简单的录音实用程序,我希望能够使用元数据标记生成的文件。 找到用ID3标签标记MP3文件的库非常容易,但我对WAV等无损编解码器以及可能的FLAC更感兴趣。 据我所知,WAVE文件实际上是RIFF文件类型的一个子集,它可以包含波形“块”和元数据“块”。 任何人都可以指向我的图书馆,规范或示例项目的方向,这将有助于我弄清楚如何从WAVE文件读取和写入这些RIFF标签? 也有人知道FLAC是否存在类似的标签,以及用于将元数据写入FLAC文件的任何好资源?

使用iTextSharp从PDF中提取其他元数据

我已经看到使用iTextSharp提取基本元数据(即作者,标题),它通常看起来像这样: var pdfReader = new PdfReader(pdfData); var author = pdfReader.Info[“author”] 但是,在我的情况下,我正在追求更奇特的东西,文档可能包含的额外“高级”元数据。 请原谅油漆亮点,但这里是Adobe Acrobat中的屏幕截图,显示了有问题的数据: 在这种情况下,通过Info字典似乎无法获得此数据。 使用不同的库(TallComponents的PDFKit)公开了这些数据,但我想知道是否有任何办法使用iItext获取它 由于许可限制,我目前正在使用iText 4.1.6,但如果增加所需的function,我不会反对购买5.0.6的商业许可。

为什么VS Metadata视图不显示显式接口实现的成员

前几天我正在查看C#布尔结构元数据。 Boolean实现了IConvertible接口。 但是看看布尔的成员,我看不到大多数IConvertible成员。 我和一些同事做了一些测试,包括创建我们自己的类,并得出结论,IConvertible必须明确地为Boolean实现。 问题是,为什么它们不可见? 我知道它可能是一个“按设计决定”但我明白如果检查元数据的任何人都可以看到它会增加更多的价值。 测试在VS2010 .NET4.0中完成