本文整理匯總了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
}