问题标签 [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.
.net - 64 位的 Exiv2(或其他 EXIF 编写器)
我需要一种将 EXIF 标记从 .NET 代码添加到 jpeg 图像的非破坏性方式。到目前为止,我发现 Exiv2 和 .NET 包装器 Exiv2net 在添加或更新标签时效果很好。但是,我的代码需要在 64 位机器上运行(并且由于其他原因编译为 64 位),在我看来,Exiv2 代码只能编译为 32 位。
因此,我正在寻找使用 64 位版本的 Exiv2 和 Exiv2net 或完全使用其他工具包的人。有没有人见过这样的事情?
顺便说一句,WPF 中的 BitmapMetadata 在更新时会删除 EXIF 标记,并且不适用于我的目的。
php - 如何用引号转义 php exec() 命令
我在 Linux 上使用 Exiv2 命令行工具来编辑图像元数据,如下所示:
我想使用用户提供的标题从 PHP 执行此操作。如果用户没有输入特殊字符,这将起作用:
我需要允许用户使用特殊字符,例如单引号和双引号。我想使用 escapeshellcmd() 来防止恶意数据。如何正确转义命令和参数以使其正常工作?我尝试了很多选择,但我无法做到正确。
java - JNI“有问题的框架”导致 JVM 崩溃
我正在使用 JNI 访问 Java 中的 exiv2 库(用 C++ 编写),我在 JNI 代码中遇到了一个奇怪的运行时错误。我试过使用各种 -Xms 和 -Xmx 选项,但这似乎没有影响。我还尝试在 JDK1.7.0 上运行此代码,结果相同。
java代码是:
和
C++ 代码:
我已经搜索了解决此问题的方法,但找不到。我没有太多使用 C++ 的经验,所以如果我在 C 代码中犯了明显的错误,我深表歉意。
感谢您的帮助,
HJED
PS 这是我在这个网站上的第一篇文章,我不确定我需要展示多少代码。对不起,如果我放太多了。
--------编辑:按照以下建议添加 gdm 回溯-----------
在 SIGSEGV 处的 gdm 回溯:
main.cpp:54 是:
main.cpp:48 是
main.cpp:36 是
-------编辑:使用-cacao。下午 5 点 15 分(澳大利亚东部夏令时间)2011 年 1 月 1 日 ---------
我注意到查看上面的堆栈跟踪,该错误源自特定于“服务器”虚拟机的库,因此我尝试了 -cacao VM 选项。而不是 jni 崩溃,我得到了 NullPointerException:
我在异常发生的地方添加了一些调试代码(见下文),发现那里不可能有 NullPointerException。
修改后的代码:
我认为这可能是同一个错误,只是处理方式不同?再次感谢您的帮助。
编辑:将位 ORing 更改为 || 正如 Favonius 所建议的那样
java - 在 std::_List_const_iterator 中获取 SIGSEGV::operator++ 同时使用 jni
我正在使用 jni 访问我的 Java 项目中的 exiv2 API,并且在 std::_List_const_iterator::operator++ 中收到 SIGSEGV 错误。我不确定如何解决这个错误。我尝试使用高 -Xmx 值以及在 jdk1.6.0(服务器和可可 JVM)和 1.7.0(服务器 JVM)上运行。
gdb 回溯:
Java错误:
主.cpp:
感谢您的帮助,
HJED
更新:添加代码以检查 exifData 是否为空,如 Alex 所建议的,exifdata 不为空。
编辑:尝试按照亚历克斯的建议运行最小的测试用例,它在没有 jni 的情况下运行良好
输出:
imagemagick - 无法使用 ImageMagick 设置图像方向
我正在尝试在 ImageMagick 中设置 JPEG 文件的图像方向,但没有看到任何可见的变化。
在通过 Imagick 库的 PHP 中,这样的事情似乎对写出的图像没有影响:
我无法检测到使用 ImageMagick 的标识创建的图像中的任何差异,也无法检测到 exiv2。
convert 和 mogrify 似乎也无济于事。我尝试以下命令:
并没有看到任何效果。
不过,exiv2 似乎确实可以修改方向,Mac 桌面甚至会立即更新缩略图。不幸的是,在我想使用的环境中,我不会有 exiv2。
我认为 ImageMagick 无缘无故没有这些功能......我做错了什么?
c++ - Exiv2:如何使用 UTF8 文件路径读取照片?
我正在使用 GTKmm 和 exiv2 来读取 EXIF 元数据形式的照片。但是 Exiv2 函数只接受 std::string 文件路径...当我在非 ASCII 文件路径上尝试它时,它会破坏程序。
有没有办法读取这些数据?如果 Exiv2 接受 Glib::ustrings 那就太好了...
我对 Windows 和 Linux 的解决方案感兴趣。
c++ - Exiv2 - 一些图像标签不写,但有些写
使用 Exiv2 库将一些 exif 标签写入我正在运行以下代码的图像,类似于Exiv2 站点上提供的示例。
然而,有些抛出错误,有些根本不写但不抛出错误。我注意到带有 Exif.Image.* 的标签不起作用,有些带有 Exif.Photo.* 的标签起作用,有些则不起作用,但找不到模式。
我正在使用 JHEAD 检查写入文件的内容。
想知道过去是否有人遇到过这种行为或知道发生了什么?谢谢。
c++ - GCC 中的宏有效,但在 Solaris 编译器中失败?
来源:svn checkout svn://dev.exiv2.org/svn/trunk(最新版本:3020)
我的平台:Fedora 17 64 位
以下命令有效:
但是在那之后,当我做时,我得到了错误:
error.cpp 的内容:
rcsid_int.hpp 的内容:
如果我使用 GCC 编译相同的程序,它可以正常工作。
请参阅差异,因为 Rev 3019 在 GCC 和 Solaris 编译器中工作:http ://dev.exiv2.org/projects/exiv2/repository/revisions/3020/diff?rev=3020&type=sbs
如何忽略 Solaris 编译器中的多个声明错误?
我计算了 r3018 和 r3019 中 .cpp 文件的预处理输出的差异:
c++ - GCC 编译得很好,但 Solaris 编译器不行?
来源:svn checkout svn://dev.exiv2.org/svn/trunk (rev: 3019)
我的平台:Fedora 17 64 位
以下命令有效:
但是当我做时,我得到了错误:
谁能告诉这里的确切问题是什么?
使用 GCC 编译时相同的源代码没有错误并且编译成功。
python - 如何在 virtualenv 上安装 GExiv2?
我安装了这个库:
我能够加载 Python 模块:
问题来自virtualenv。我需要在 virtualenv 中使用这个库,但我不知道如何安装它,因为没有pip
包。
我试图在系统范围内安装的库和 virtualenv lib 文件夹之间建立符号链接,但没有结果:
谢谢你的帮助!