2009-05-28 25 views
6

Pracuję z systemem Android i naprawdę potrzebuję szybkiego sposobu na zrobienie mapy bitowej o z góry ustalonym rozmiarze, który zostanie wypełniony określonym kolorem.Android - Wypełnij bitmapę z kolorem

Poniższy kod nie działa jednak dla mnie; Wejście bitmapy

jest zmienny bitmapy

int old = input.getPixel(0, 0); 
    Canvas c = new Canvas(input); 
    Rect rect = c.getClipBounds(); // The dimensions of the bitmap are returned 
    c.drawARGB(a, r, g, b); 
    int n = input.getPixel(0, 0); 
    if(old==n) 
     Log.e(TAG, "Values didn't change!"); 
    return input; 

Pewni, „stare” wartość, a wartość (a | r | g | b) są różne, ale charakteryzujące się wyciągnąć "kolor przy użyciu płótna z moją mapą bitową zmienną bitmapa zachowuje swoją dawną wartość.

Byłbym zadowolony z każdej metody, która przyjmuje bitmapę i wartość koloru i zwraca bitmapę wypełnioną tym kolorem.

Odpowiedz

6

Nie podałem wystarczającej ilości informacji!

Moja wartość alfa była poza zakresem;

int a = 0xFF<<24 

Więc gdy zadzwoniłem

c.drawARGB(a,r,g,b); 

Nie udało się cicho i nie zmienia wartości.

+0

To powinno być edytowane w oryginalnym wpisie. –

+0

Przepraszam, to był mój pierwszy post. Jaka jest etykieta, aby zamknąć pytanie, jeśli sam na nie odpowiedziałem? – gav

+5

@Ben: Mylisz się. Kiedy sam rozwiązujesz pytanie, publikujesz rozwiązanie jako odpowiedź i akceptujesz je. @Gav: W StackOverflow po prostu zadajesz pytanie i porzucisz hej lub pozdrowienia na końcu, bo to tylko hałas – Casebash

Powiązane problemy