LoginSignup
0
1

More than 1 year has passed since last update.

SwiftでAnimation PNGを仕様から実装したのでメモだけ残す

Last updated at Posted at 2023-02-28

先日からAPNGをApple標準関数で実装したり、Animation GIFを実装したりしましたが、結局APNGを仕様から実装しました。

色々紆余曲折があり、libpngやffmpegも調べたのですが、少し手順を踏まないと組み込めないサードパーティライブラリであることや余分な実装が一緒に載ってくるのが好ましくなかったので仕方なく仕様から実装しました。

libpngはAPNGが投票数が少なく採用されなかった経緯がありパッチで提供されているのも興味深かったです。
結局iOSに導入しやすいOpenCV(公式にサポートしている)を使って実装しました。
詳しくは資料を参考ください。

OpenCVをSwiftで利用する場合、Other Linker Flags-all_loadを指定しないとMatToUIImageが使えなかったりしますが、MatToUIImageは自分で書くこともできますので-all_loadがプロジェクトで利用しにくい場合や、後から使わない可能性がある場合は使わないのも選択肢です。
こういったパラメータが複数のリリースに向けたパッケージを追加した場合に問題起こすのはあるあるです。

しかしiOSではApple標準関数だけではAPNGの実装で困った方はいたと思うのですが、みんなどうしてたのでしょう。
結構長い期間その状態だったと思うのですが。
ニッチなのもあり情報が見当たらないですが独自に仕様から実装してたのですかね?

Swift Animation PNG Example

それでは良い開発ライフを。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1