[英]The best way to enlarge images Android
假设我们有一个尺寸为100x100的显示器,一个图像为100x50,我想放大该图像,以使其具有与屏幕相同的高度。 因此,图像将为200x100。 之后,我要使图像移动的动画向左和向右移动。 我发现了两种实现任务的方式:
Bitmap.createScaledBitmap()
创建新图像。 但是以这种方式创建的映像将占用两倍的RAM。 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.