[DevTip] Android - android.graphics.Matrix
Path에 대한 transform 예
mTransformMatrix.reset();
if ((mCurMax - mCurMin) > 0) {
mTransformMatrix.postScale(1,
-(mCurScrHeight >> 1)/(mCurMax - mCurMin));
} else {
// Consider sample data
uses 16-bit integer
mTransformMatrix.postScale(1,
-(mCurScrHeight >> 1)/((1 << 15) - 1));
}
mTransformMatrix.postTranslate(0,
mCurScrHeight >> 1);
mPathOrg.transform(mTransformMatrix, mPath);
Matrix의 변환 설정을 위한 함수에 set/pre/post 전치사가 붙는데,
Pre/post는 행렬 계산식의 배치(앞, 뒤)와 관계가 있고,
Set은 이전 작업을 무시하고 해당 변환만 적용한다.
즉, 위와 같은 경우, Scale과 Translate를 순차적으로 적용하는 꼴.
만약, setScale()과
setTranslate()를 사용했다면, 후자인 setTranslate()만 적용된다는 것에 주의!
댓글
댓글 쓰기