問題タブ [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.

0 投票する
1 に答える
893 参照

.net - 64ビットのExiv2(または別のEXIFライター)

.NETコードからjpeg画像にEXIFタグを追加する非破壊的な方法が必要です。これまでのところ、タグを追加または更新するときにうまく機能するExiv2と.NETラッパーExiv2netを見つけました。ただし、私のコードは64ビットマシンで実行する必要があり(他の理由で64ビット用にコンパイルされている)、Exiv2コードは32ビットでしかコンパイルされていないようです。

したがって、64ビットバージョンのExiv2とExiv2net、または完全に別のツールキットで作業している人を探しています。誰かがそのようなことを見たことがありますか?

ところで、WPFのBitmapMetadataは、更新時にEXIFタグを削除するため、私の目的では機能しません。

0 投票する
3 に答える
13236 参照

php - 引用符でphpexec()コマンドをエスケープする方法

LinuxでExiv2コマンドラインツールを使用して、次のように画像メタデータを編集します。

ユーザーから提供されたキャプションを使用して、PHPからこれを実行したいと思います。これは、ユーザーが特殊文字を入力しない場合に機能します。

一重引用符や二重引用符などの特殊文字をユーザーに許可する必要があります。悪意のあるデータを防ぐためにescapeshellcmd()を使用したいと思います。コマンドと引数を正しくエスケープして機能させるにはどうすればよいですか?私は多くのオプションを試しましたが、正しく理解できません。

0 投票する
1 に答える
4423 参照

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 pm(AEDT)1/1/11 ---------

上記のスタックトレースを見ると、エラーが「サーバー」仮想マシンに固有のライブラリで発生していることに気付いたので、-cacaoVMオプションを試しました。jniクラッシュの代わりに、NullPointerExceptionが発生しました。

例外が発生している場所の周りにデバッグコードを追加し(以下を参照)、そこにNullPointerExceptionが存在することは不可能であることがわかりました。

変更されたコード:


これはおそらく同じエラーだと思いますが、処理方法が異なりますか?助けてくれてありがとう。
編集:ビットORingを||に変更 ファヴォニウスによって推測されたように

0 投票する
2 に答える
850 参照

java - std::_List_const_iterator で SIGSEGV を取得する::operator++ jni 使用中

Java プロジェクトで jni を使用して exiv2 API にアクセスしていますが、std::_List_const_iterator::operator++ で SIGSEGV エラーが発生します。このエラーを修正する方法がわかりません。高い -Xmx 値を使用して、jdk1.6.0 (サーバーおよび cacao JVM) と 1.7.0 (サーバー JVM) の両方で実行しようとしました。

gdb トレースバック:

Java エラー:

main.cpp:

助けてくれてありがとう、
HJED

更新:アレックスによって提案されたように、exifData が null であるかどうかを確認するコードを追加しました。exifdata は null ではありません。

編集:アレックスによって提案された最小限のテスト ケースを実行しようとしましたが、jni がなくても問題なく動作します

出力:

0 投票する
1 に答える
2767 参照

imagemagick - ImageMagickで画像の向きを設定することはできません

ImageMagickでJPEGファイルの画像の向きを設定しようとしていますが、目に見える変化が見られません。

Imagickライブラリを介したPHPでは、次のようなものは、書き出された画像に影響を与えないようです。

ImageMagickのidentifyでもexiv2でも作成された画像に違いは検出できません。

そして、改宗と移動も役に立たないようです。私は次のようなコマンドを試します:

そして、効果は見られません。

ただし、exiv2は向きを変更できるようで、Macデスクトップはサムネイルをすぐに更新します。残念ながら、使用したい環境では、exiv2はありません。

ImageMagickには理由もなくこれらの機能がないと思います...何が間違っているのですか?

0 投票する
2 に答える
475 参照

c++ - Exiv2:UTF8ファイルパスで写真を読み取る方法は?

GTKmmとexiv2を使用してEXIFメタデータフォームの写真を読み取っています。ただし、Exiv2関数はstd :: stringファイルパスのみを受け入れます...ASCIIファイルパスではなく試してみると、プログラムがクラッシュします。

そのデータを読み取る方法はありますか?Exiv2がGlib::ustrings..を受け入れたら素晴らしいと思います。

WindowsとLinuxのソリューションに興味があります。

0 投票する
1 に答える
1001 参照

c++ - Exiv2 - 一部の Image タグは書き込みませんが、一部は書き込みます

Exiv2 ライブラリを使用していくつかの exif タグを画像に書き込みます。Exiv2 サイトで提供されている例と同様に、以下のコードを実行しています。

ただし、エラーをスローするものもあれば、単に書き込みをしないだけでエラーをスローしないものもあります。Exif.Image.* のタグは機能せず、Exif.Photo.* のタグは機能し、機能しないものもありますが、パターンが見つかりません。

JHEAD を使用して、ファイルに書き込まれた内容を確認しています。

誰かが過去にこの行動に出くわしたり、何が起こっているのか知っているのだろうか? ありがとう。