Differenza tra immagini

di il
18 risposte

18 Risposte - Pagina 2

  • Re: Differenza tra immagini

    Infatti il valore di aDiff è sempre 0, quindi come posso risolvere?
    Grazie
  • Re: Differenza tra immagini

    MariaMaria ha scritto:


    Infatti il valore di aDiff è sempre 0, quindi come posso risolvere?
    Grazie
    Dipende dalla logica e dal risultato che vuoi (o ti è stato chiesto di) ottenere.

    Potresti:
    1) Ignorare del tutto il canale alpha. Usi solo RGB e basta.
    2) Premoltiplicare R,G,B con l'alpha. Ovvero se un colore è es. R=255, G=80, B=0 e il alpha è 0x80 (praticamente 50%), allora calcolerai: R=128, G=40, B=0. E per il resto dei tuoi calcoli ignori l'alpha.
  • Re: Differenza tra immagini

    Se scegliessi di ignorare l'alpha dovrei eliminare la riga seguente:
     aDiff = Math.abs(a1 - a2);
    mentre da qui dovrei togliere aDiff vero?
    (aDiff << 24) | (rDiff << 16) | (gDiff << 8) | bDiff;
    Perchè anche così ottengo un'immagine vuota
  • Re: Differenza tra immagini

    MariaMaria ha scritto:


    Se scegliessi di ignorare l'alpha dovrei eliminare la riga seguente:
     aDiff = Math.abs(a1 - a2);

    MariaMaria ha scritto:


    mentre da qui dovrei togliere aDiff vero?
    (aDiff << 24) | (rDiff << 16) | (gDiff << 8) | bDiff;
    Sì lo puoi togliere. Ma se la immagine di destinazione ha il canale alpha (es. tipo TYPE_INT_ARGB), il valore per setRGB deve di nuovo avere il canale alpha.
    E se vuoi che il colore appaia "opaco" basta mettere un "OR" fisso con 0xFF000000 .

    Beh, a quel punto potresti anche usare TYPE_INT_RGB e ... buonanotte al alpha!
Devi accedere o registrarti per scrivere nel forum
18 risposte