Android:Bitmap上的绘图路径非常慢

时间:2014-05-05 16:45:17

标签: android bitmap drawing android-canvas

我正在开发app,它可以让用户在ImageView中打开图片然后在其上绘制线条并删除它们。但我有一个大问题:当我加载一个大图像时,绘图过程变得非常慢。但是当图像很小时,绘制过程是正常的)))。

这是我用来绘制线条的算法: 1.从SD卡打开图像(解码图像尺寸并在必要时重新调整尺寸)。 2.通过setImageBitmap(bitmap)将Bitmap放入ImageView;方法 3.创建具有原始位图所具有的宽度和高度的透明位图(以在其上绘制和擦除线条)。 4.在ImageView onDraw()方法

中绘制或擦除透明位图上的线条(使用Path类)

这是我的onDraw()方法:

@Override
protected void onDraw(Canvas canvas) {
    super.setImageMatrix(mMatrix);
    super.onDraw(canvas);
    if (!mFragmentImage.inDrawMode()) return;
    canvas.save();
    if (mFragmentImage.mShape!=null){
        if (mFragmentImage.mShape.getType() == CustomShape.SHAPE_LINE) {
            mOverlayCanvas.drawPath(mFragmentImage.mShape.getPath(), mFragmentImage.mShape.getPaint());
        }
    }
    if (mOverlay!=null)    canvas.drawBitmap(mOverlay, mMatrix, null);
    canvas.restore();
}

任何人都可以提出一些建议,让他们更快地完成绘图过程。

0 个答案:

没有答案