读和写Exif标记和注释,macOS迅速控制台

本教程展示了如何读和写Exif标记和注释在macOS迅速控制台应用程序使用LEADTOOLS SDK。

概述
总结 本教程介绍了如何使用Exif标记和注释在macOS迅速控制台应用程序。
完成时间 20分钟
Visual Studio项目 下载教程项目(6 KB)
平台 macOS迅速控制台应用程序
IDE Xcode
开发许可 下载LEADTOOLS
试试用另一种语言

所需的知识

熟悉基本的步骤创建一个项目的审查添加引用和设置一个许可证教程,在工作之前读和写Exif标记和注释,macOS迅速控制台教程。

创建项目并添加LEADTOOLS引用

从项目中创建的副本添加引用和设置一个许可证教程。如果你没有这个项目,按照这个教程中的步骤创建它。

的引用需要取决于项目的目的。本教程需要引用位于下面的框架< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ \ macOS Xcode \框架:

编辑Leadtools-Bridging-Header.h文件添加以下进口:

#进口< Leadtools.Codecs / Leadtools.Codecs.h >

对于一个完整的列表应用程序所需的文件,请参考文件包含在您的应用程序

设置许可文件

许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。详情,包括教程为不同的平台,请参考设置一个运行时许可

有两种类型的运行时许可证:

请注意

添加LEADTOOLS引用和设置许可中会详细介绍添加引用和设置一个许可证教程。

添加读/写Exif注释代码

与项目创建、添加引用,许可,可以开始编码。

使用项目导航器,打开main.swift。添加两个新的字符串变量命名srcFiledestFile在调用SetLicense ()函数。集srcFile等于包含源Exif文件和设置文件路径destFile等于导出EXIF文件的文件路径包含添加评论。此外,创建一个新的实例LTRasterCodecs

接下来,添加一个新函数命名ReadAndWriteExifComments (srcFile: srcFile destFile: destFile,编解码器:编解码器)。以下调用这个函数LTRasterCodecs对象实例,如下所示。

SetLicense ()让srcFile =“< INSTALL_DIR > / LEADTOOLS22 /资源/图片/ addcommand.tif”让destFile =“< INSTALL_DIR > /保存/ addcommand.tif”让编解码器:LTRasterCodecs = LTRasterCodecs ()ReadAndWriteExifComments (srcFile: srcFile destFile: destFile,编解码器:编解码器)ReadAndWriteExifTags (srcFile: srcFile编解码器:编解码器)

将以下代码添加到ReadAndWriteExifComments ()函数加载图像翻转,写一个标签文件说明图像翻转,然后显示到控制台创建的用户评论。

func ReadAndWriteExifComments (srcFile:字符串,destFile:字符串,编解码器:LTRasterCodecs) {{让图片:LTRasterImage =试一试编解码器。加载(文件:srcFile)/ /写注释/ /翻转图像让flipCmd: LTFlipCommand = LTFlipCommand(水平:真正的)试一试flipCmd.run(图片)/ /添加一个用户评论文件并将其保存在另一个名字var评论:LTRasterCommentMetadata = LTRasterCommentMetadata ()发表评论。类型= .userComment让评论:字符串=“图像翻转”让数据:[UTF16Char] =数组(comments.utf16)var dataComments: [UInt8] =阵列(重复:0,数:8 + comments.count)/ /当你需要写一个用户评论第一个8个字节必须包含“Ascii”字。dataComments [0] = 41dataComments [1] = 53dataComments [2] = 43dataComments [3] = 49dataComments [4] = 490 . . <评论。计数{dataComments (8 + i) = UInt8(数据[我])}/ /设置数据属性在评论dataComments数组对象comment.fromByte (&dataComments itemCount:使用UInt (dataComments.count))/ /添加用户评论的评论收集图像阀门image.comments ?(评论)codecs.options.save.comments =真正的试一试编解码器。保存(图片、文件:destFile,格式:LTRasterImageFormat。exif bitsPerPixel: 24)/ /读取评论评论=试一试编解码器。readComment(来自:destFile pageNumber: 1、类型:.userComment)dataComments = comment.data.bytesvar味精:字符串=“用户评论= "0 . . < (dataComments。数- 8){味精+ =字符串(UnicodeScalar (dataComments (i + 8)))}打印(味精)}{打印(error.localizedDescription)}}

添加读/写Exif标记代码

添加一个新的函数命名ReadAndWriteExifTags (srcFile:字符串,编解码器:LTRasterCodecs)。调用这个函数调用以下ReadAndWriteExifComments ()功能,如前一节所示。将下面的代码添加到ReadAndWriteExifTags从指定的文件读取标签的方法。

func ReadAndWriteExifTags (srcFile:字符串,编解码器:LTRasterCodecs) {{让信息:LTCodecsImageInfo =试一试编解码器。我mageInformation(file: srcFile, totalPages:)让格式:LTRasterImageFormat = info.format/ /加载标记如果! LTRasterCodecs.tagsSupported(格式){打印(文件格式不支持标签”)返回}让标签:[LTRasterTagMetadata] = [LTRasterTagMetadata] (试一试编解码器。readTags(来自:srcFile pageNumber: 1))让txtFileName:字符串=“/道路/ /保存/ metadata.txt”让fileURL = URL (fileURLWithPath txtFileName):如果文件管理。默认的.fileExists (atPath: fileURL.path) {试一试(”“. data (使用.utf8) !写(:fileURL,选项:.atomicWrite)}var作家=试一试文件句柄(forWritingTo fileURL):WriteTags(作者:作者、名称:“标签”标签:标签)}{打印(error.localizedDescription)}}

添加一个新的函数命名WriteTags(作者:inout文件句柄,名字:字符串,标签:[LTRasterTagMetadata])。这个新函数将被称为内ReadAndWriteExifTags ()函数,如上所示。将下面的代码添加到WriteTags ()函数写读标签TXT文件。

func WriteTags(作者:inout文件句柄,名字:字符串,标签:[LTRasterTagMetadata]) {writer.write (name.data (使用:.utf8) !)如果标签! = nil {标签标记{writer.write (:" \国家免疫日0 x \ (String(格式:“x % 02”,tag.tagId)数据长度:\ (tag.data.count)”. data (使用:.utf8) !)}}其他的{writer.write (“不支持”. data (使用:.utf8) !)}writer.write (”“. data (使用:.utf8) !)}

为了方便数据类型转换添加一个扩展名为数据

扩展数据{var字节(UInt8): {返回[UInt8](自我)}}

运行该项目

通过选择清洁项目明确的任何错误产品- >清洁建立文件夹Shift +命令+ K

该项目通过选择运行产品- >运行命令+ R

如果是正确的步骤,应用程序运行时,Exif用户评论写道,读取用户评论写的,然后读取给定图像内的Exif标记并将这些标签写入外部TXT文件。

控制台显示的信息。

总结

本教程展示了如何读和写Exif评论和标签。同时,我们介绍了如何使用LTRasterCodecsLTRasterTagMetadata类。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2023领先的技术公司。保留所有权利。