안녕하세요 안드로이드 펍 가족님들.
이미지뷰를 커스텀해서 줌인기능을 하였는데요..
onDraw에서 canvas.drawLine으로 그린 그림은 이상하게 줌인할때 같이 커지거나 그렇지 않습니다.
왜그런건가요...
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
Paint p = new Paint();
canvas.drawLine(0, 25, 60, 20, p);
canvas.drawLine(0, 1500, 60, 20, p);
canvas.restore();
}
@Override
public boolean onScale(ScaleGestureDetector detector) {
float mScaleFactor = detector.getScaleFactor();
float origScale = saveScale;
saveScale *= mScaleFactor;
if (saveScale > maxScale) {
saveScale = maxScale;
mScaleFactor = maxScale / origScale;
} else if (saveScale < minScale) {
saveScale = minScale;
mScaleFactor = minScale / origScale;
}
if (origWidth * saveScale <= viewWidth || origHeight * saveScale <= viewHeight)
matrix.postScale(mScaleFactor, mScaleFactor, viewWidth / 2, viewHeight / 2);
else
matrix.postScale(mScaleFactor, mScaleFactor, detector.getFocusX(), detector.getFocusY());
fixTrans();
mScaleFactor *= detector.getScaleFactor();
mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 5.0f));
invalidate();
return true;
}
위와 같이 소스 코드가 되어있습니다.
좋은 하루 되십싱시오.^^