Matrix的前乘和后乘不太明白?
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- android, java
- Lĩnh vực
- computer-graphics, mobile
Hướng nghiên cứu
Bắt đầu với hai đoạn snippet và các lệnh gọi Android Matrix được hiển thị: postRotate, postTranslate, preTranslate và PathMeasure.getMatrix. So sánh thứ tự biến đổi của chúng và giải thích tại sao hai cách tiếp cận lại sử dụng các hướng nhân khác nhau. Được xem là hoàn thành khi có một lời giải thích rõ ràng dựa trên các ví dụ được hiển thị; issue không xác định file hoặc test nào.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
measure.getPosTan(measure.getLength() * currentValue, pos, tan); // 获取当前位置的坐标以及趋势
mMatrix.reset(); // 重置Matrix
float degrees = (float) (Math.atan2(tan[1], tan[0]) * 180.0 / Math.PI); // 计算图片旋转角度
mMatrix.postRotate(degrees, mBitmap.getWidth() / 2, mBitmap.getHeight() / 2); // 旋转图片
mMatrix.postTranslate(pos[0] - mBitmap.getWidth() / 2, pos[1] - mBitmap.getHeight() / 2); // 将图片绘制中心调整到与当前点重合
这是第一种方案,
// 获取当前位置的坐标以及趋势的矩阵
measure.getMatrix(measure.getLength() * currentValue, mMatrix, PathMeasure.TANGENT_MATRIX_FLAG | PathMeasure.POSITION_MATRIX_FLAG);
mMatrix.preTranslate(-mBitmap.getWidth() / 2, -mBitmap.getHeight() / 2); // <-- 将图片绘制中心调整到与当前点重合(注意:此处是前乘pre)
这是第二种方案,为什么第一种是用的后乘,第二种用的是前乘,具体看了那个matrix的原理还是不太明白?可以具体讲讲吗?
- Ngôn ngữ chính
- Java
- Star
- 9.3k
- Fork
- 2.1k
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của GcsSloop/AndroidNote
-
安卓自定义View进阶-Canvas之绘制图形 部分有误 Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 42/100
GcsSloop/AndroidNote#116 ·
-
安卓 Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
GcsSloop/AndroidNote#115 ·
-
章节缺失:安卓自定义View进阶 Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
GcsSloop/AndroidNote#114 ·
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 55/100
GcsSloop/AndroidNote#111 · 2 reaction ·
-
博客有几篇打不开了 Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
GcsSloop/AndroidNote#110 ·
Tất cả issue của GcsSloop/AndroidNote
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
elastic/gradle-plugins#157 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
cryptomator/hub#497 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
johanhaleby/occurrent#1120 ·