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

C# 写入图片元数据

Tiff图片元数据写入并保存 /// /// 通过解码器与编码器写入元数据 /// /// 原图片全路径 /// 新图片全路径 ...
  • beikepang
  • beikepang
  • 2018年01月12日 13:59
  • 18

读取和修改JPEG图片文件的头信息EXIF和JFIF

1. JPEG图片格式的历程和简单介绍可参考下面这篇文章 http://blog.csdn.net/kickxxx/article/details/8173332 ...
  • xywy2008
  • xywy2008
  • 2014年07月24日 22:43
  • 9248

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

 BitmapFrame支持CreateInPlaceBitmapMetadataWriter方法在图片中写入元数据(metadata)信息。比如:Stream pngStream = new Sys...
  • johnsuna
  • johnsuna
  • 2007年09月11日 19:56
  • 2740

Android获取SD卡上所有图片、视频缩略图和音乐专辑封面

查询图片首先,查询Android固有数据库,图片的Uri为Images.Media.EXTERNAL_CONTENT_URI。 以下为具体查询实例,FileInfo为自定义的数据模型。public ...
  • XieYupeng520
  • XieYupeng520
  • 2015年06月25日 10:59
  • 6290

Java读取图片Metadata元数据Exif

2016年3月Java读取图片Metadata元数据Exif(maven下载包配置)   转自:2016年3月Java读取图片Metadata元数据Exif package image;  im...
  • u014801801
  • u014801801
  • 2016年03月22日 20:14
  • 612

获取图片的metadata的方法

通过java获取图片的metadata的方法
  • yaerfeng
  • yaerfeng
  • 2014年01月30日 21:24
  • 3662

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

 BitmapFrame支持CreateInPlaceBitmapMetadataWriter方法在图片中写入元数据(metadata)信息。比如:Stream pngStream = new Sys...
  • johnsuna
  • johnsuna
  • 2007年09月11日 19:56
  • 2740

ContentProvider再探——Document Provider

概述通过ContentProvider初探相信你已经知道如何去使用系统提供的ContentProvider或者自定义ContentProvider了, 已经基本满足日常开发的需求了,有趣的是,我在官方...
  • yangshangwei
  • yangshangwei
  • 2016年03月12日 01:00
  • 2871

什么是元数据(Metadata)?

什么是元数据        任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode...
  • yjh314
  • yjh314
  • 2016年11月30日 10:09
  • 8432

元数据(Metadata)

什么是元数据 任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元 数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据 块的分布信息(inode...)...
  • lgstudyvc
  • lgstudyvc
  • 2015年09月25日 14:30
  • 2291
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WPF中使用InPlaceBitmapMetadataWriter在图片中插入元数据(metadata)
举报原因:
原因补充:

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