kotlin 如何在Android中调整GIF/动画WebP图像文件的大小?

7gcisfzg  于 2023-11-21  发布在  Kotlin
关注(0)|答案(1)|浏览(133)

我们如何在Android中调整GIF等动画图像文件的大小,动画webp或动画png文件?我不是在询问在Image View上显示动画。我的目标是在保存后将动画图像文件保存在存储中。
我试过滑动,但我们必须编写复杂的代码来获取每帧的位图,然后将位图调整到特定的大小或裁剪,然后将所有这些帧编码回动画图像文件。
还有另一个名为imagemagick的库,但Android版本有一些问题,我不能使用它
APNG4ANDROID是另一个库,它看起来很适合这个操作,但它也有一些问题,尽管它的好库显示动画图像。

qgelzfjb

qgelzfjb1#

经过大量的研究和实验,我终于找到了解决办法。
对于Gif:

  • 使用解码器从gif中提取帧
  • 调整每个位图的大小。
  • 使用encoder将它们编码为webp或gif

对于Webp:

  • (需要Glid)使用给定的代码提取帧作为位图。
  • 调整它们的大小
  • 编码成gif/webp

(延迟也可用于编码器)
GIF编码解码器https://github.com/waynejo/android-ndk-gif
Webp Ecnoder https://github.com/b4rtaz/android-webp-encoder
使用Glide:https://stackoverflow.com/a/64744296/9308731进行Webp解码
调整大小:https://stackoverflow.com/a/32810187/9308731

相关问题