WPF中使用InPlaceBitmapMetadataWriter在图片中插入元数据(metadata)

原创 2007年09月11日 19:56:00

 BitmapFrame支持CreateInPlaceBitmapMetadataWriter方法在图片中写入元数据(metadata)信息。
比如:

Stream pngStream = new System.IO.FileStream("Johnson.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
PngBitmapDecoder pngDecoder = new PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapFrame pngFrame = pngDecoder.Frames[0];
InPlaceBitmapMetadataWriter pngInplace = pngFrame.CreateInPlaceBitmapMetadataWriter();
if (pngInplace.TrySave() == true)
{ pngInplace.SetQuery("/Text/Description", "Happy every day!"); }
pngStream.Close();

使用SetQueryGetQuery方法可以创建和读取元数据(metadata)。
如上面,你可以使用pngInplace.GetQuery("/Text/Description").ToString();得到元数据。

又如tiff的元数据设置:
BitmapMetadata tiffMetadata = new BitmapMetadata("tiff");
tiffMetadata.SetQuery("/ifd/{ushort=1000}", 9999);
tiffMetadata.SetQuery("/ifd/{uint=1001}", 23456);
tiffMetadata.SetQuery("/ifd/{uint=1002}", 34567);
tiffMetadata.SetQuery("/ifd/PaddingSchema:padding", (UInt32)4096);
tiffMetadata.SetQuery("/ifd/exif", new BitmapMetadata("exif"));
tiffMetadata.SetQuery("/ifd/exif/PaddingSchema:padding", (UInt32)4096);

查看图片的元数据时,你还可以使用BitmapFrame的Metadata属性

如果你对Adobe的XMP感兴趣,你可以查阅读:
Extensible Metadata Platform (XMP) http://www.adobe.com/products/xmp/index.html

Android中读取图片EXIF元数据之metadata-extractor的使用

首先介绍一下什么是EXIF,EXIF是 Exchangeable Image File 的缩写,这是一种专门为数码相机照片设定的格式。这种格式可以用来记录数字照片的属性信息,如相机的品牌及型号、相片的...

Java读取图片Metadata元数据Exif

2016年3月Java读取图片Metadata元数据Exif(maven下载包配置)   转自:2016年3月Java读取图片Metadata元数据Exif package image;  im...

Flex 元数据(metadata)的使用

虽然多数Flex开发者都使用过[Bindable]标签,但是很多人都不知道这个标签的作用甚至不知道该标签为何物。[Bindable]就是所谓的元数据标签。元数据标签是一种特殊的标签,它在代码中的作用就...

什么是元数据(MetaData)

转自:http://www.ikent.me/blog/2213在读《Web信息架构》的时候第九章讲到叙词表、受控词表和元数据。当时书中的定义很模糊,所讲的篇幅也少,就没有在意,一直也没有能完全理解。...

数据库元数据(MetaData)

数据库存储结构定义信息(库,表,列,定义信息) 学习元数据元素API获得数据库,表,列定义信息 1.DatabaseMetaData数据库元数据—–获取数据库结构信息 新建工程 将mysql驱...

元数据(MetaData)

元数据是用来描述数据的数据(Data that describes other data)。单单这样说,不太好理解,我来举个例子。 下面是契诃夫的小说《套中人》中的一段,描写一个叫做瓦莲卡的女子...
  • baxiaxx
  • baxiaxx
  • 2013年06月09日 15:06
  • 684

元数据(MetaData)

元数据是用来描述数据的数据(Data that describes other data)。单单这样说,不太好理解,我来举个例子。 下面是契诃夫的小说《套中人》中的一段,描写一个叫做瓦莲卡的女子: ...
  • ktutu
  • ktutu
  • 2017年06月05日 09:54
  • 170

元数据 metadata

元数据最本质、最抽象的定义为:data about data (关于数据的数据)。它是一种广泛存在的现象,在许多领域有其具体的定义和应用。在数据仓库领域中,元数据被定义为:描述数据及其环境的数据。一般...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WPF中使用InPlaceBitmapMetadataWriter在图片中插入元数据(metadata)
举报原因:
原因补充:

(最多只允许输入30个字)