Ok 可能我错过了这里的东西, 但我被卡住了几个小时 。 我制作了一个应用程序, 用户用这个程序在图片上绘制一个维度线。 现在我要同时绘制一些选择点, 显示线被选中。 这些点是一个特定的位图, 必须在线的末尾( 箭头后面) 并按箭头旋转 。 我创建了一个班级 DrawSectionPoint, 扩展视图, 我可以以类似的方式旋转位图 :
selectionPoint = BitmapFactory.decodeResource(context.getResources(),
R.drawable.selectionpoint);
Matrix matrix = new Matrix();
matrix.postRotate((float)Math.toDegrees(angle));
canvas.drawBitmap(selectionPoint, matrix, null);
(角度是线的角) 这样我的位图就按照我想要的方式旋转, 但是它画在0,0点(屏幕左上方)上。
如果我用那种东西
canvas.save();
canvas.rotate();
canvas.drawBitmap(selectionPoint, x, y, null);
canvas.restore();
然后,我发现很难在我想要的确切位置绘制位图(因为我画的是旋转的画布,然后我再转回去 ) 。 我尝试了一些欧几里得旋转的转换,但我没有运气。
是否有某种方法可以应用矩阵旋转, 并给出需要绘制位图的点数? 提前感谢!!