2012-07-30 1 views
5

私はこれまでに同様の質問をしましたが、決定的な回答は得られていません。ビットを直接読み取ることなく、画像をメモリにロードせずに画像に単にメタデータを追加/修正する方法が必要であると思われます。イメージをロードせずに、ファイルシステム上の既存イメージのEXIFデータを書き込むか、または変更する方法は?

CMSampleBufferRefを使用しているような感じですが、すでにディスクに保存されている通常の画像でこれを行う必要があります。
たとえば、非常に大きいpng/Documents/photo.pngとした場合、その画像を読み込まなくてもexifメタデータを変更したいと考えています。

+1

関連:[jpegマーカーデータを簡単に編集する方法はありますか?](0120-18753) – blahdiblah

+1

@ H2CO3は、おそらく唯一の解決策を提供しています(私は持っていなかった)、彼の答えを受け入れてください。 –

+0

また、回答を受け入れない場合でも、賞金の価値は戻ってこないことに注意してください。あなたが答えの一つを受け入れるならば、それは回答者の一人にとって唯一のメリットになります。 :) –

答えて

9

あなたはlibexifを使うことができます。以前はiOS用にコンパイルして成功しました。 libexifを使用すると、イメージのEXIFメタデータを変更できます。

+0

確かに、このフレームワークはまず画像をメモリにロードしますか? – akaru

+0

画像全体ではなく、EXIFメタデータです。 –

+0

これはいいですね。そのような使用法の例をlibexifで提供できますか?すなわち、メタデータをロードし、それをファイルに書き戻す。 – akaru

0

EXIFを変更する方法がわかっている場合は、ファイルからバイナリデータを直接変更できます。バイナリ部分を新しい部分に置き換えてください。 私はobjective-cがこれを許可するかどうかわかりませんが、ansi cは単純でなければなりません。複雑な部分は、変更する正確な部分を特定することです。

関連する問題