11月 11 2012
iOS5になってからずっと先延ばしにしていた問題にようやく対応しました。
今回のメインは標準写真アプリでのトリミング対応になります。iOS5から標準の写真アプリで簡単な編集ができるようになりました。
こういう感じのやつですね。
ここで編集した写真をPictShare経由で送信すると元の画像が送られてしまうっていう問題だったんですが、それにようやく対応しました。(技術的な話は後述)
現在の対応サービスはこんな感じです。
審査期間はだんだん短くなっているようです。公式アナウンスとしても8営業日から7営業日に減っていていい傾向ですね。
みなさん是非お使いくださいませ。
たまには技術的なお話でも書いておきましょう。
標準写真アプリでのトリミングはオリジナル画像を直接編集するのではなく、メタデータを編集するだけの仕様になっています。これは実際にMacのプレビュー.appなどをつかってiPhoneから写真を吸い出すとわかるのですが、トリミングしたはずの写真でも、オリジナルの写真がそのまま取り出せてしまいます。
iOSのAPI的にはUIImagePickerを使うと編集後の写真にアクセスできますが、AssetsLibrary経由ではオリジナル画像になってしまいます。
これについて一度バグ報告を上げたことがあるのですが、その回答は「メタデータを見てくれ」と言うものでした。
ちなみにこのメタデータ。XMPっていうフォーマットでして、アドビが制定している仕様に基づいています。
Extensible Metadata Platform – Wikipedia
これは、実際にトリミングしたはずの元画像をバイナリエディタなんかで開くと確かに中にXMLが埋まっているのが確認できます。
XMPについてはSDKが提供されているので、それ経由で読み書きが可能です。
Adobe – XMP Developer Center | Adobe Developer Connection
が、それ、面倒くさいな〜と思って今まで先延ばしになっていたのでした。
ところがよくみてみると、AssetsLibraryの [ALAssetRepresentation metadata] で取得できるデータ群の中に @”AdjustmentXMP” という項目があるではないですか!ここにまさに上述のXML文字列がそのまま埋まっていたのです。
そんなこんなで、XMLは無事に取得できまして、各項目を取り出して、それを元にトリムを再現して(これまた画像の回転とからんで結構ややこしかった)、、、と、対応することができました。
というわけでちょっとしたメモでした。
By itok • iPhone, iPhone開発, PictShare, ソフトウェア • 0 • Tags: AssetsLibrary, iPhone, sugarsync, twitter
11月 11 2012
写真投稿iPhoneアプリ PictShare v3.2.1 を公開しました – 標準写真アプリのトリム対応など
iOS5になってからずっと先延ばしにしていた問題にようやく対応しました。
変更点
今回のメインは標準写真アプリでのトリミング対応になります。iOS5から標準の写真アプリで簡単な編集ができるようになりました。
こういう感じのやつですね。
ここで編集した写真をPictShare経由で送信すると元の画像が送られてしまうっていう問題だったんですが、それにようやく対応しました。(技術的な話は後述)
現在の対応サービスはこんな感じです。
審査期間はだんだん短くなっているようです。公式アナウンスとしても8営業日から7営業日に減っていていい傾向ですね。
みなさん是非お使いくださいませ。
技術的なお話
たまには技術的なお話でも書いておきましょう。
標準写真アプリでのトリミングはオリジナル画像を直接編集するのではなく、メタデータを編集するだけの仕様になっています。これは実際にMacのプレビュー.appなどをつかってiPhoneから写真を吸い出すとわかるのですが、トリミングしたはずの写真でも、オリジナルの写真がそのまま取り出せてしまいます。
iOSのAPI的にはUIImagePickerを使うと編集後の写真にアクセスできますが、AssetsLibrary経由ではオリジナル画像になってしまいます。
これについて一度バグ報告を上げたことがあるのですが、その回答は「メタデータを見てくれ」と言うものでした。
ちなみにこのメタデータ。XMPっていうフォーマットでして、アドビが制定している仕様に基づいています。
Extensible Metadata Platform – Wikipedia
これは、実際にトリミングしたはずの元画像をバイナリエディタなんかで開くと確かに中にXMLが埋まっているのが確認できます。
XMPについてはSDKが提供されているので、それ経由で読み書きが可能です。
Adobe – XMP Developer Center | Adobe Developer Connection
が、それ、面倒くさいな〜と思って今まで先延ばしになっていたのでした。
ところがよくみてみると、AssetsLibraryの [ALAssetRepresentation metadata] で取得できるデータ群の中に @”AdjustmentXMP” という項目があるではないですか!ここにまさに上述のXML文字列がそのまま埋まっていたのです。
そんなこんなで、XMLは無事に取得できまして、各項目を取り出して、それを元にトリムを再現して(これまた画像の回転とからんで結構ややこしかった)、、、と、対応することができました。
というわけでちょっとしたメモでした。
By itok • iPhone, iPhone開発, PictShare, ソフトウェア • 0 • Tags: AssetsLibrary, iPhone, sugarsync, twitter