Tutti i metodi della classe Canvas utilizzano le coordinate in tipo float. Ma perché? Come so, queste coordinate significano il conteggio dei pixel da puntare sul display. Pixel può essere separato?Perché i pixel sono mobili?
risposta
Alcuni dispositivi supportano la precisione subpixel.
Su uno schermo LCD standard, un pixel è davvero tre subpixel, uno rosso, uno verde, uno blu. (Rosso verde blu). E il rendering a livello di subpixel consente immagini più nitide e dall'aspetto migliore.
Come esempio grezzo, piuttosto che specificare la posizione di un pixel "RGB" bianco sullo schermo, c'è la possibilità di rendere più attentamente un "pixel" bianco in una posizione leggermente diversa sullo schermo utilizzando effettivamente due pixel su lo schermo.
Considerare tre pixel RGB sullo schermo. Si consideri la visualizzazione di un pixel bianco accendendo la R, G e subpixel B in pixel due:
one two three
----- ----- -----
_ _ _ R G B _ _ _
e si confronti con il rendering subpixel:
one two three
----- ----- -----
_ _ B R G _ _ _ _
_ _ _ R G B _ _ _
_ _ _ _ G B R _ _
Per l'occhio umano, tutti quelli sembra un pixel bianco, ma il rendering subpixel consente un maggiore controllo sul posizionamento. E questa tecnica di illuminare solo porzioni di pixel e parti illuminanti di pixel adiacenti è efficace nel "livellamento della linea" (anti-aliasing).
E ci sono altre tecnologie di schermo diverse dal tradizionale LCD a strisce RGB. Si consideri, ad esempio, la varietà di schermi in formato RGBG Amoled (display Samsung Galaxy).
- 1. Perché i pixel renderizzati differiscono dai pixel reali?
- 2. Perché lineTo() cambia i pixel interni?
- 3. Perché i pixel di alleggerimento delle tartarughe?
- 4. Perché ci sono altri pixel attorno al mio GridView Android?
- 5. Perché i browser mobili caricano la mia pagina completamente ingrandita?
- 6. Perché i colori dei pixel non sono corretti in OpenGL ES 2.0 su Android?
- 7. Perché i tratti sono istantanei?
- 8. Perché i globali sono cattivi?
- 9. OpenCV: ricerca di pixel lungo i rami a singolo pixel
- 10. Cosa sono gli ombreggiatori Vertex e Pixel?
- 11. OpenCV raggruppando i pixel bianchi
- 12. Somma pixel shader efficiente di tutti i pixel
- 13. Quali sono i limiti superiore e inferiore e i tipi di valori dei pixel in OpenCV?
- 14. Perché i registri x86 sono nominati come sono?
- 15. Perché i mutabili sono ammessi in F #? Quando sono essenziali?
- 16. Posizionamento fisso per i browser mobili
- 17. Perché i riferimenti circolari sono considerati dannosi?
- 18. Perché i bean Stateless sono raggruppati?
- 19. Perché i bean Java sono chiamati "bean"?
- 20. Perché i blocchi sono serializzabili in java?
- 21. Perché non sono permessi i flo statici?
- 22. Perché i registri CPU sono rapidamente accessibili?
- 23. Perché i vettori sono così poco profondi?
- 24. Perché i modelli typedef sono illegali?
- 25. Perché i tipi sigillati sono più veloci?
- 26. Perché i file statici sono insicuri
- 27. Perché i byte della mia immagine per riga sono più lunghi dei byte per pixel per larghezza?
- 28. Controllo pixel UIImage per pixel
- 29. query media css: dispositivi mobili di destinazione senza specificare larghezza, rapporto pixel, ecc.
- 30. This.blur() non funziona per i dispositivi mobili
La tela è basata su vettori, il che significa che hai molto più precisione nel posizionare le cose rispetto ai semplici pixel sullo schermo. dal momento che non sei limitato alle coordinate dei pixel interi (x, y), puoi usare i float per una maggiore precisione. –