Matrix的前乘和后乘不太明白?
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
- Tipo di issue
- Documentazione
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- android, java
- Ambito
- computer-graphics, mobile
Direzione di ricerca
Inizia con i due snippet e le chiamate Android Matrix mostrate: postRotate, postTranslate, preTranslate e PathMeasure.getMatrix. Confronta l’ordine delle loro trasformazioni e spiega perché i due approcci usano direzioni di moltiplicazione diverse. Il lavoro è completato quando è disponibile una spiegazione chiara basata sugli esempi mostrati; nell’issue non sono identificati file o test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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的原理还是不太明白?可以具体讲讲吗?
- Lingua principale
- Java
- Stelle
- 9.3k
- Fork
- 2.1k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di GcsSloop/AndroidNote
-
安卓自定义View进阶-Canvas之绘制图形 部分有误 Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 42/100
GcsSloop/AndroidNote#116 ·
-
安卓 Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
GcsSloop/AndroidNote#115 ·
-
章节缺失:安卓自定义View进阶 Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
GcsSloop/AndroidNote#114 ·
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 55/100
GcsSloop/AndroidNote#111 · 2 reazioni ·
-
博客有几篇打不开了 Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
GcsSloop/AndroidNote#110 ·
Tutte le issue di GcsSloop/AndroidNote
Issue simili
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
apache/flink-agents#1152 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
jenkinsci/blueocean-plugin#5417 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
objectionary/eo-graphs#75 ·