Par*_*unt 8 java mobile android bitmap
在我的Android应用程序中,我有一个加载的图像.使用此图像,用户可以放大,缩小和来回移动它.目前我只能一次上班.
经过大量测试后,我确定无论我称之为第二个是有效的.
matrix.setScale(zoom, zoom); // this will not work
matrix.setTranslate(currentX, currentY); // this will work
canvas.drawBitmap(image, matrix, null);
Run Code Online (Sandbox Code Playgroud)
如果我运行所有相同的代码,但只是简单地切换setScale,那么它将工作,但setTranslate不会.
这似乎应该是一个简单的答案.顺便说一句:我使用post设置代码的方式不实用.
matrix.postScale();
matrix.postTranslate();
Run Code Online (Sandbox Code Playgroud)
提前致谢
Rom*_*Guy 20
当您调用任何set*()方法时,您将替换Matrix的整个内容.在第一个示例中,仅考虑setTranslate().您需要使用pre*()和post*()方法来组合translate和scale操作.