canvas.getClipBounds()。左边是0总是在android而放大画布 - canvas.getClipBounds().left is 0 always while zooming canvas in android
- 此内容更新于:2015-10-29
主题:
缩放后的帆布canvas.getClipBounds的价值()。离开总是0canvas.getClipBounds()。前总是0这些值缩放时从不改变。有任何错误的实现吗?
原文:
After zooming Canvas the value of
canvas.getClipBounds().left is always 0
canvas.getClipBounds().top is always 0
These value never changes while zooming.Is there any wrong implementation?
Rect clipBounds = new Rect();
int canvasLeft;
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
clipBounds = canvas.getClipBounds();
canvas.save();
canvasLeft = canvas.getClipBounds().left;
if(scaleGestureDetector.isInProgress()){
scaleGestureFocusX = this.scaleGestureDetector.getFocusX();
scaleGestureFocusY = this.scaleGestureDetector.getFocusY();
canvas.scale(this.scaleFactor, this.scaleFactor, scaleGestureFocusX, scaleGestureFocusY);
}
else{
canvas.scale(this.scaleFactor, this.scaleFactor, scaleGestureFocusX, scaleGestureFocusY);
}
canvas.drawBitmap(bitmap, 0, 0, null);
canvas.drawPath(path, paint);
canvas.restore();
}