在Android上的代码中快速复制位图的最佳方法?

时间:2012-10-07 06:44:11

标签: android android-canvas

背景:使用Canvas,Paint和Path对象我在画布上绘制了几个几何图形,主要是多边形和圆形。它们填满了Android屏幕的大部分内容。

问题:使用Mathematica,我可以使用Translate(在x和y方向)“快速复制”图形,之后生成的图像会自动缩小,以便所有副本都可见。 (例如。绘制一个填满整个屏幕的正方形,使用(2,2)复制它并出现四个正方形。)前提是复制操作更快。 - 在Android上可以进行类似的操作吗?

1 个答案:

答案 0 :(得分:1)

没有什么比这更方便了,但为了达到这个效果,你可以直接绘制到Bitmap并重复使用它 - 自己缩放和翻译它。

public void onDraw(Canvas canvas) {
    Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    Canvas bmpCanvas = new Canvas(bmp);

    // draw into bmpCanvas
    // ...

    // draw bitmap using
    // public void drawBitmap (Bitmap bitmap, Rect src, RectF dst, Paint paint)
    canvas.drawBitmap(bmp, ...);