2018 Cum de a desena alfa android

Androids .help Comunitatea Android Android.

Vreau să desenez grafic pe panza, astfel încât culorile să fie aditive. De exemplu, vreau să produc după cum urmează:







Dar, în schimb, înțeleg:

2018 Cum să elaboreze alfa android

Rețineți că jumătate din fondul alb, jumătate negru este intenționat, doar pentru a vedea cum interacționează alfa cu ambele familii. Voi fi fericit că această lucrare cu orice fundal. Aici este codul meu:

Poate cineva te rog să mă ajuți să înțeleg cum să atragă culori aditive în grafica Android?

Top 5 răspunsuri

Sunteți pe drumul cel bun. Există 3 probleme principale în cod:

Trebuie să setați Xfer modul ISO filtru de culoare Utilizare temp bitmap pentru redarea imaginii Alpha ar trebui să fie 0xFF, în scopul de a obține rezultate pe care le căutați

Iată ce am făcut cu modul Xfer. Ceea ce fac este să desenez totul într-o imagine bitmap temporară și apoi să fac întreaga imagine bitmap în panza principală.







2018 Cum să elaboreze alfa android

Întrebați de ce aveți nevoie de o imagine bitmap temporară. Aceasta este o întrebare bună. Dacă desenați totul pe panza principală, florile dvs. vor fi amestecate cu culoarea de fundal a pânzei principale, astfel încât toate culorile vor fi încurcate. Rasterul transparent de temperatură vă ajută să vă păstrați florile din alte părți ale UI

Asigurați-vă că nu evidențiați nimic în onDraw () - este posibil să nu aveți destulă memorie suficientă pe această cale. De asemenea, asigurați-vă că reutilizați bitmapul dvs. temporar când nu mai aveți nevoie de acesta.

Mulțumesc din nou, Pavel. Mi-ar fi foarte greu să aflu singur. Răspund la propria mea întrebare, pentru a intra mai adânc în detalii, dar am luat-o ca pe cel mai bun răspuns.

Aveți dreptate că prefer să nu fiți nevoit să creați și să gestionați cu un ecran Bitmap (și panza). Aceasta este, în esență, motivul pentru care am menționat că ar fi un fundal alb-negru pentru a face acest lucru.

Nu am niciodată legătură cu performanța înainte de a vedea ceva de lucru și îmi împărtășesc atenția după acest punct. Editarea Versiunea pentru fixarea și eliminarea acelor membri oferă o implementare mai jos.

E de încredere. Observați cele două apeluri către Canvas.drawColor (), despre care bănuiesc că pot fi combinate și în una.

Întrebări recente







Articole similare

Trimiteți-le prietenilor: