实现Exif特性

Exif文件格式支持更复杂的评论比其他格式。有关的评论列表,请参考Exif文件注释

这个案例展示了如何处理Exif评论不存储为字符串。保存字符串(一个简单的例子,请参考WriteComment方法。)

这个示例如下:

1。

装载一个图像。

2。

更新数组从现有的文件通过加载评论发表评论。

3所示。

逆转并创建一个图像RasterCommentMetadataType.UserComment评论说,照片已经逆转。

4所示。

保存该文件。(所有的评论都是保存,包括我们更新。)

5。

读取和显示的两个评论从保存的文件。其中一个是我们创建的评论。另一种是使用Exif置评RasterTagMetadataDataType.URational数据类型。

6。

清理评论数组。


VB

私人潜艇WriteCommentsTest ()昏暗的编解码器新RasterCodecs ()昏暗的srcFileName字符串=“C: \ LEADTOOLS21 \资源\ \ Image1.cmp图像”昏暗的destFileName字符串=“C: \ LEADTOOLS21 \资源\ \ Exif.tif图像”昏暗的tempImage RasterImage = codecs.Load (srcFileName)“翻转图像。昏暗的flipCmd新FlipCommand(真正的)flipCmd.Run (tempImage)“添加一个用户评论文件并保存它另一个名字。昏暗的评论新RasterCommentMetadata ()发表评论。类型= RasterCommentMetadataType.UserComment昏暗的言论是字符串=“图像翻转”昏暗的数据()Char =评论。comments.Length ToCharArray (0)昏暗的dataComments(8 +评论。- 1)作为字节长度当你需要写一个用户评论第一个8个字节“必须包含“Ascii”词。dataComments (0) = 41dataComments(1) = 53岁dataComments (2) = 43dataComments (3) = 49dataComments (4) = 49dataComments (5) = 0dataComments (6) = 0dataComments (7) = 0我作为Integer = 0评论。长度- 1dataComments (8 + i) = CType (AscW(数据(i)),字节)下一个数据属性评论对象dataComments数组。comment.FromByte (dataComments)“添加用户评论的评论收集图像tempImage.Comments.Add(评论)codecs.Options.Save。评论= True编解码器。保存(tempImage destFileName RasterImageFormat。Exif, 24)tempImage.Dispose ()阅读用户评论和显示它评论=编解码器。ReadComment (destFileName 1 RasterCommentMetadataType.UserComment)dataComments = comment.GetData ()昏暗的味精作为字符串=“用户评论= "因为我是dataComments Integer = 0。长度- 7味精=味精+ dataComments .ToString (i + 8)下一个MessageBox.Show(味精,“通知”)终止子


c#

私人无效WriteCommentsTest (){RasterCodecs编解码器=RasterCodecs ();字符串srcFileName =@“C: \ LEADTOOLS21 \资源\ \ Image1.cmp图像”;字符串destFileName =@“C: \ LEADTOOLS21 \资源\ \ Exif.tif图像”;RasterImage tempImage = codecs.Load (srcFileName);/ /翻转图像。FlipCommand flipCmd =FlipCommand (真正的);flipCmd.Run (tempImage);/ /添加一个用户评论文件并将其保存在另一个名字。RasterCommentMetadata评论=RasterCommentMetadata ();发表评论。类型= RasterCommentMetadataType.UserComment;字符串评论=“图像翻转”;字符[]data =评论。ToCharArray (0, comments.Length);字节[]dataComments =字节(8 + comments.Length);/ /当你需要写一个用户评论第一个8个字节/ /必须包含“Ascii”字。dataComments [0] = 41;dataComments[1] = 53个;dataComments [2] = 43;dataComments [3] = 49;dataComments [4] = 49;dataComments [5] = 0;dataComments [6] = 0;dataComments [7] = 0;(int我= 0;我< comments.Length;我+ +)dataComments (8 + i) = (字节)数据(我);/ /设置数据属性在评论dataComments数组对象。comment.FromByte (dataComments);/ /添加用户评论的评论收集图像tempImage.Comments.Add(评论);codecs.Options.Save。评论=真正的;编解码器。保存(tempImage destFileName RasterImageFormat。今年24岁的Exif);tempImage.Dispose ();/ /读取用户评论和显示它评论=编解码器。ReadComment (destFileName 1 RasterCommentMetadataType.UserComment);dataComments = comment.GetData ();字符串味精=“用户评论= ";(int我= 0;我< (dataComments。长度- 8);我+ +)味精+ = (字符)dataComments (i + 8);MessageBox.Show(味精,“通知”);}

LEADTOOLS成像、医学和文档
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。