Android:使用Matrix转换图像

时间:2012-01-18 06:05:01

标签: android

我希望在我创建的自定义类的onDraw方法上使用Matrix转换图像,该方法扩展了ImageView,例如

@Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.save();
    canvas.setMatrix(imageMatrix);
    canvas.drawBitmap(((BitmapDrawable)mIcon).getBitmap(), imageMatrix, null);
    canvas.restore();
}

但是,我上面编写的内容并没有真正起作用。我究竟如何在画布上应用imageMatrix?谢谢!

2 个答案:

答案 0 :(得分:2)

尝试调用Drawable.draw(Canvas)方法:

@Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.save();
    canvas.setMatrix(imageMatrix);
    ((BitmapDrawable)mIcon).draw(canvas);
    canvas.restore();
}

答案 1 :(得分:-1)

你所做的一切都很好,只是把超级电话放在最后,因为所有的画都在哪里完成......

@Override
public void onDraw(Canvas canvas) {
    canvas.setMatrix(imageMatrix);
    super.onDraw(canvas);
}