2010-01-04 4 views
5

Wie kann ich bestimmte Pixel einer DrawableBitmap transparent machen?Android Bildtransparenz

+0

Ich habe das gleiche Problem. Müssen weißen Hintergrund von png Bitmap zu transparent ersetzen. – alekz

Antwort

0

Android unterstützt Transparenz bei PNG-Dateien. Konvertieren Sie Ihre Bitmap mit einem Editor wie GIMP in ein PNG und die Arbeit ist für Sie erledigt.

+1

Ich muss das programmatisch machen. Ich kenne die Bilder nicht weiter. – Arutha

0

Sie können versuchen, das zugrunde liegende Bitmap-Pixel (wenn es veränderbar ist) mit der setPixel-Methode zu ändern.

+1

kann es sehr lang und teuer sein. Es gibt kein Filtersystem, das es schafft? – Arutha

+0

Hängt davon ab, wie Pixel im Bild bei jedem Bild geändert werden sollen. Was ist die zugrunde liegende Bitmap-Größe? Wie viel davon möchten Sie ändern? 1% 10% 50%? Es gibt viele Filterklassen in android.graphics, aber sie funktionieren nicht auf Pixelbasis. – david

4

Vielleicht hilft:

Bitmap buffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444); 
buffer.eraseColor(Color.TRANSPARENT); 
+0

Es wird die Farbe aller Pixel ändern. Ich muss nur wenige Pixel transparent machen. – Arutha

+1

Die Bitmap.Config.ARGB_4444 wurde wegen der schlechten Qualität dieser Konfiguration als veraltet eingestuft. Es wird empfohlen, stattdessen ARGB_8888 zu verwenden. – ekatz

0
.setAlpha(alpha) 

alpha von 0 (vollständig transparent) reichen kann, und 255 (völlig undurchsichtig).