问题标签 [exiv2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - exiv2 中的“无法解析”IPTC 日期到 XMP 日期时间
我对 exiv2 进行了一些修改,试图在 EXIF、IPTC 和 XMP 之间扩展它的日期/时间转换功能。http://dev.exiv2.org/issues/864
IPTC 日期和 IPTC 时间存储在不同的字段中,所以首先我尝试解析 IPTC 日期,稍后在我的代码中我尝试解析时间。
我是编程的初级初学者,所以这看起来是一个非常基本的问题,但这里有。该代码被添加到 cnvIptcValue 函数内的 exiv2 文件 convert.cpp 中。
我从命令行得到的确切错误:
起初我认为日期转换代码失败:
但进一步的测试表明,失败的是时间转换代码:
所以时间代码试图解析日期字段。通过添加几行代码将其更改为时间字段:
我还扩展了错误消息代码以查看时间字段中的内容。现在的结果是:
它正确解析日期字段,但不正确解析时间。为什么是这样?是不是解析错了?
c++ - 解析 ACDSee 类别
如何解析一个类似 xml 的字符串并将其转换为一个单独的列表?
我正在尝试转换以下字符串:
到一个单独的列表,如:
exiv2 的 Robin Mills 提供了一个 perl 脚本: http ://dev.exiv2.org/boards/3/topics/1912?r=1923#message-1923
那还需要解析Assigned="1"
. 这如何在 C++ 中完成以在digikam中使用,内部dmetadata.cpp
结构如下:
我没有足够的编程背景来解决这个问题,也没有在网上找到任何类似的代码示例。我还想将代码包含在 exiv2 本身中,以便其他应用程序可以受益。
工作代码将包含在 digikam 中:https ://bugs.kde.org/show_bug.cgi?id=345220
python - Pyexiv2 和 PIL 文件阻塞
我正在编写一个脚本来将元数据保存到 jpg 图像并为 Wordpress 调整它们的大小。它一直进展顺利,使用 jpegs 和 pngs,直到我尝试在使用 PIL.Image.thumbnail() 调整 jpg(但不是 png)大小后直接在图像上使用它
我试图将它全部压缩成一个易于阅读的课程,以帮助任何可以帮助回答问题的人。主要类是 MetaGator(元缓解器),它将属性“标题”和“描述”写入文件中相应的元数据字段。
我用来测试它的代码在main中,并给出以下输出:
如您所见,在 JPG 测试中,它在普通文件上运行良好,但在 PIL 调整图像大小后根本无法运行。.PNG 不会发生这种情况,它使用 PIL 保存元数据,这会让我认为问题出在 pyexiv2 上。
我应该尝试什么?任何的意见都将会有帮助。
谢谢你。
android - ndk-build 输出“添加符号时出错。文件格式错误'
我想在我的 Android 项目中使用用 C++ 编写的 exiv2 库。为此,我尝试使用 Android NDK 交叉编译库。
对于交叉编译,我遵循以下步骤:
将 ndk 路径添加到变量 PATH
/li>安装用于交叉编译 C/C++ for Android 的标准工具链。
/li>设置一些环境变量,以便配置和构建过程使用正确的编译器。
/li>构建静态库和足够的头文件
/li>
结果,我创建了“构建”类别文件:
我将创建的静态库libexiv2.a
和include
文件夹复制到我的 Android 项目中appName/src/main/jni/prebuild
。
Android.mk
好像:
在我的 Android 包装器中,我尝试使用该库。它看起来如下:
但是ndk-build
输出它找不到它。
我相信交叉编译中的标志有问题。我尝试了几种选择,但仍然有问题。 我遵循了这些说明:https ://groups.google.com/forum/#!topic/android-ndk/mYh1LzMu_0U
image-processing - 无论如何(命令行工具)来计算 .NEF(也 .CR2、.TIFF)的 MD5 哈希值,而不管任何元数据?
不管任何元数据,例如 EXIF、IPTC、XMP 等,是否有(命令行工具)来计算 .NEF(也是 .CR2、.TIFF)的 MD5 哈希?
一旦我们更新图像文件中的任何元数据,MD5 哈希值应该相同。
我搜索了一段时间,最接近的解决方案是:
但 'exiftool -all=' 仍然在输出文件中保留一组 EXIF 标记。如果我更新剩余的标签,可以更改 MD5 哈希。
c++ - QtLogger 出现错误 C2511
早上好,
我目前正在处理 Qt 项目(使用的软件:VS 2010),在我的 QLogger.cpp 中,我的函数 addDestination 出现 C2511 错误,但我不知道为什么,因为我的所有函数都已正确使用。我在发布模式下编码,因为它在调试模式下不起作用。
这里是完整的消息错误:
错误 1 错误 C2511: 'bool QLogger::QLoggerManager::addDestination(const QString &,const QString &,QLogger::LogLevel)' : 在 'QLogger::QLoggerManager' C:\Users\gdeca_000\Desktop 中找不到重载的成员函数\qt-编码\QLogger\QLogger.cpp 104
这里是 .h 代码:
这里是 .cpp 代码:
感谢您的帮助和时间。
c++ - 如何将 const Exiv2::Value 转换为 int
我正在使用 Exiv2 来获取照片的元数据。我想使用这些元数据的一些价值。但我不知道如何将 exiv2 值转换为 int。这是我的电源线。
我只是写“int a = rotation.value();”但我知道不可能是这样的。
如果您帮助我,我将非常感谢您。
c++ - 在 Mac OSX 上的 C++ Netbeans 中添加外部库或 SDK
我正在寻找一种来自 JAVA 背景的 C++ 新的明确答案,您只需将 JAR 文件添加到您的项目中。我正在尝试构建一个检查元数据的项目,所以我正在使用 Exiv2
我想将此添加到我的项目中,我该怎么做?我在我的开发环境中使用 Netbeans 并且使用 Mac OS X 将不胜感激,这样我就可以摆脱链接并完全理解它,谢谢
自述文件
ios - 适用于 iOS 的 Exiv2:XMP 工具包支持未编译
我正在构建一个 iOS 应用程序,它可以拍照、修改图片并将 XMP 元数据嵌入到图片中。问题在于编写 XMP 部分。图片保存为 JPEG 后,我使用Exiv2重新打开图片,写入 XMP,然后重新保存 JPEG。这是我的示例代码:
在我的 PC 上运行良好,使用 XCode 和 iOS 模拟器也运行良好。XMP 已正确写入 JPEG 文件。但是,当我在 iPhone 上测试时,它会抛出
警告:未编译 XMP 工具包支持。
并且 XMP 不存在。我怀疑 Exiv2 在我为 iOS 构建它时没有正确链接。这是我的做法:
- 下载并构建适用于所有拱门的Expat(i386 x86_64 armv7 armv7s arm64)。我使用此脚本进行构建,经过一些调整后它运行良好。我用 lipo 检查了生成的 libexpat.a 并且所有的拱门都在那里。请注意,如果启用了 XMP,Exiv2 需要 Expat。
- 使用此脚本并进行一些调整,为 iPhoneSimulator(i368 和 x86_64)构建 Exiv2 。在构建时,没有错误,正如我所说,一切正常。配置命令如下所示:
./configure --host=x86_64-apple-darwin --prefix=$PREFIXDIR/iphonesim-build --disable-dependency-tracking --enable-static=yes --enable-shared=no --disable-dependency-tracking --enable-commercial --disable-nls --disable-lensdata --without-libiconv-prefix --without-zlib --with-expat=/Users/kevin/Downloads/expat-ios
- 但是,在为 iPhoneOS(armv7、armv7s 和 arm64)构建时出现错误:
libtool: link: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7 -arch armv7s -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk -mios-version-min=10.2 -o ../bin/exiv2 exiv2.o actions.o utils.o -Wl,-bind_at_load -L/Users/kevin/Downloads/expat-ios/lib -L/Users/kevin/Downloads/exiv2-ios/src/exiv2-0.25/xmpsdk/src ./.libs/libexiv2.a -liconv -lexpat -ldl Undefined symbols for architecture armv7: "_WXMPIterator_DecrementRefCount_1", referenced from: TXMPIterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(TXMPIterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) in libexiv2.a(xmp.o) TXMPIterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~TXMPIterator() in libexiv2.a(xmp.o) TXMPIterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~TXMPIterator() in libexiv2.a(xmp.o) TXMPIterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~TXMPIterator() in libexiv2.a(xmp.o) Exiv2::XmpParser::decode(Exiv2::XmpData&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libexiv2.a(xmp.o)
并在一长串错误之后:
"MD5Init(MD5_CTX*)", referenced from: Exiv2::Converter::computeExifDigest(bool) in libexiv2.a(convert.o) Exiv2::Converter::computeIptcDigest() in libexiv2.a(convert.o) "MD5Final(unsigned char*, MD5_CTX*)", referenced from: Exiv2::Converter::computeExifDigest(bool) in libexiv2.a(convert.o) Exiv2::Converter::computeIptcDigest() in libexiv2.a(convert.o) "MD5Update(MD5_CTX*, unsigned char const*, unsigned int)", referenced from: Exiv2::Converter::computeExifDigest(bool) in libexiv2.a(convert.o) Exiv2::Converter::computeIptcDigest() in libexiv2.a(convert.o) ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [exiv2] Error 1 make: *** [install] Error 2
因此,即使编译器构建并创建了 iPhoneOS 的库,Exiv2 也无法XmpParser::encode
正确调用并崩溃。如果我删除该部分,它不会崩溃,但不会写入 XMP。
我的问题是:
- 如何为 iPhoneOS 架构正确构建 Exiv2?
- 是否有任何其他可能的原因导致在 iOS 中将 XMP 写入 JPEG 文件不起作用?
exiv2 - Ubuntu libexiv2.so.26 缺少错误信息
我正在使用 exiv2 库。我目前面临一个问题,我找不到解决办法。这是问题所在。我安装了 exiv2 库。当我尝试运行它时,会出现以下错误。
但是,当我打开 /usr/local/lib 文件夹时,它就存在在那里。再次,当我尝试使用 ldd 命令定位库时,该命令无法定位它!谁能帮我找出那里发生了什么?提前致谢!如果不是如何卸载整个库并重新安装它?