【发布时间】:2013-02-09 04:46:39
【问题描述】:
大家好,我想知道是否可以绘制到屏幕外的画布/位图并利用硬件加速,还是我必须在 View 的 onDraw() 方法内绘制
例如,我通过执行以下操作绘制到屏幕外位图:
Bitmap.Config config = Bitmap.Config.ARGB_8888;
Bitmap buffer = Bitmap.createBitmap(200, 200, config);
Canvas canvas = new Canvas(buffer);
Paint paint = new Paint();
paint.setColor(Color.RED);
canvas.drawLine(0, 0, 100, 100, paint);
但是 canvas.isHardwareAccelerated() 返回 false 并且绘图速度较慢:
protected void onDraw(Canvas canvas) {
Paint paint = new Paint();
paint.setColor(Color.RED);
canvas.drawLine(0, 0, 100, 100, paint);
}
canvas.isHardwareAccelerated() 返回 true。有没有办法在利用硬件加速的同时绘制位图?还是必须在onDraw方法中直接画到屏幕上?
感谢您的帮助 :) 我知道在 Java 中我可以在屏幕外绘制到 BufferedImage,它会被硬件加速,但在手机上可能不一样...
【问题讨论】:
标签: android ondraw hardware-acceleration