本文整理汇总了Java中android.graphics.PathMeasure.getMatrix方法的典型用法代码示例。如果您正苦于以下问题:Java PathMeasure.getMatrix方法的具体用法?Java PathMeasure.getMatrix怎么用?Java PathMeasure.getMatrix使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.graphics.PathMeasure
的用法示例。
在下文中一共展示了PathMeasure.getMatrix方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onDraw
import android.graphics.PathMeasure; //导入方法依赖的package包/类
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.translate(mCenterX, mCenterY);
Path path = new Path();
path.addCircle(0, 0, 200, Path.Direction.CW);
PathMeasure measure = new PathMeasure(path, false);
curValue += 0.005;
if (curValue >= 1) {
curValue = 0;
}
// 吊炸天
// measure.getPosTan(measure.getLength() * curValue, pos, tan);
//
// mMatrix.reset(); // 重置 Matrix
// float degree = (float) (Math.atan2(tan[1], tan[0]) * 180 / Math.PI); // 图片所需旋转角度
// mMatrix.postRotate(degree, mBitmap.getWidth() / 2, mBitmap.getHeight() / 2); // 旋转图片,矩阵后乘
// mMatrix.postTranslate(pos[0] - mBitmap.getWidth() / 2, pos[1] - mBitmap.getHeight() / 2); // 平移,矩阵后乘
measure.getMatrix(measure.getLength() * curValue, mMatrix, PathMeasure.POSITION_MATRIX_FLAG | PathMeasure.TANGENT_MATRIX_FLAG);
mMatrix.preTranslate(-mBitmap.getWidth() / 2, -mBitmap.getHeight() / 2); // 矩阵前乘
canvas.drawPath(path, mPaint); // 绘制 Path
canvas.drawBitmap(mBitmap, mMatrix, mPaint); // 绘制箭头
invalidate(); // 刷新
}
示例2: testGetMatrix
import android.graphics.PathMeasure; //导入方法依赖的package包/类
private void testGetMatrix(Canvas canvas) {
Path path = new Path();
path.addCircle(0, 0, 200, Path.Direction.CW); // 添加大矩形
PathMeasure measure = new PathMeasure(path, false);
Matrix matrix = new Matrix();
measure.getMatrix(measure.getLength() * currentValue, matrix, PathMeasure.TANGENT_MATRIX_FLAG | PathMeasure.POSITION_MATRIX_FLAG);
//考虑的时候 把角度先放到0度在考虑; 图片默认在左上角移动到该点 应该在该点之下;
matrix.preTranslate(-arraw.getWidth(), -arraw.getHeight() / 2);
canvas.drawBitmap(arraw, matrix, null);
canvas.drawPath(path, mDeafultPaint); // 绘制 Path
}