Android如何使用比双线性更好的重采样算法调整位图大小?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (49)

是否有任何方式或外部库可以使用Lanczos来调整图像大小。

我到目前为止所做的一切都是这样的:

Bitmap resized = Bitmap.createScaledBitmap(yourBitmap, newWidth, newHeight, true);
提问于
用户回答回答于

最有希望的IMO是使用libswscale,它提供Lanczos和许多其他过滤器。要从Bitmap本地代码访问缓冲区,你可以使用jnigraphics。这种方法保证了良好的性能和可靠的结果。

用户回答回答于

不幸的是,Android使用android中不存在的android.graphics.Bitmap,而java使用java.awt.image.BufferedImage,它不存在于android :-(

我没有a ready to use library for android但只有一个路径如何将java-awt特定库移植到平台独立java库中,并使用android和awt / j2se的platfrom特定处理程序

在java的rescale库中,你必须在界面后面隐藏所有java-awt特定的类(比如BufferedImage),IBitmap并为j2se和Android独立地实现该接口。

所以我有这些软件包:

  • pixymeta-LIB
    • 转换后的平台独立库,其中所有的awt参考被IBitmap接口替代

  • pixymeta-J2SE-LIB
    • awt / j2se的实现 IBitmap

  • pixymeta-Android的LIB
    • android执行 IBitmap

扫码关注云+社区