我希望在我创建的自定义类的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?谢谢!
答案 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);
}