繁体   English   中英

放大图像的最佳方法Android

[英]The best way to enlarge images Android

假设我们有一个尺寸为100x100的显示器,一个图像为100x50,我想放大该图像,以使其具有与屏幕相同的高度。 因此,图像将为200x100。 之后,我要使图像移动的动画向左和向右移动。 我发现了两种实现任务的方式:

  1. 使用Bitmap.createScaledBitmap()创建新图像。 但是以这种方式创建的映像将占用两倍的RAM。
  2. 在每个onDraw()使用matrix.setScale() onDraw() 但这工作非常缓慢。 还有其他更好的解决方案吗?

第二种方法很慢,因为您要在每一帧上计算“矩阵”! 由于矩阵总是相同的,并且不会改变,因此您可以预先计算矩阵并将其保存为类中的“字段”,然后只需使用此函数在屏幕上绘制即可:

canvas.drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint)

它应该足够快。 另一种选择是使用:

canvas.drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint)

同样,尝试尽可能多地预先计算内容。 在这种情况下,请预先计算src和dst矩形。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM