2009-05-28 14 views
6

Ich arbeite mit Android und ich brauche wirklich einen schnellen Weg, um eine Bitmap einer vorgegebenen Größe mit einer vorgegebenen Farbe gefüllt werden.Android - Füllen Bitmap mit Farbe

Der folgende Code funktioniert jedoch nicht für mich;

Bitmap-Eingang ist ein veränderliches Bitmap

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; 

Seien Sie versichert, die 'alten' Wert und der Wert von (a | r | g | b) unterschiedlich sind, aber unter Verwendung einer Leinwand 'gezogen' die Farbe haben Mit meiner veränderbaren Bitmap darunter behält die Bitmap ihren alten Wert bei.

Ich wäre mit jeder Methode glücklich, die eine Bitmap und einen Farbwert nimmt und eine Bitmap zurückgibt, die mit dieser Farbe gefüllt wird.

Antwort

6

Ich habe nicht genug Informationen zur Verfügung gestellt!

Mein Alpha-Wert lag außerhalb des Bereichs; So

int a = 0xFF<<24 

als ich anrief

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

Er scheiterte ruhig und nicht die Werte ändern.

+0

Dies gehört als Bearbeitung zu Ihrem ursprünglichen Beitrag. –

+0

Entschuldigung, es war mein erster Beitrag. Wie lautet die Etikette, um die Frage zu beantworten, wenn ich sie selbst beantwortet habe? – gav

+5

@Ben: Sie liegen falsch. Wenn Sie eine Frage selbst lösen, posten Sie die Lösung als Antwort und akzeptieren sie. @Gav: Auf StackOverflow stellst du generell nur eine Frage und am Ende hebst du die Grüße ab, da dies nur Rauschen ist – Casebash