2010-12-31 4 views

Antwort

33

Sie es an eine neue Bitmap ziehen könnten, zum Beispiel

Bitmap newBitmap = Bitmap.createBitmap(image.getWidth(), image.getHeight(), image.getConfig()); 
Canvas canvas = new Canvas(newBitmap); 
canvas.drawColor(Color.WHITE); 
canvas.drawBitmap(image, 0, 0, null); 

dann speichern NewBitmap statt

+2

Wenn ich Leinwandbild speichern ... Hintergrundfarbe werde ich schwarz. Jede andere Möglichkeit zu ändern .. Vielen Dank im Voraus .. –

+0

Jeder Weg, um die schwarze Hintergrundfarbe zu ändern? – Homen

+0

@RahulBaradia Sie können meine Antwort überprüfen, es könnte Ihnen helfen. –

0

Um ein Bild zu speichern und halten seine transparente Bereiche, die Sie nicht speichern kann es ans JPG, haben Sie es als PNG zu speichern, und nicht nur das, sondern die Einstellung der Einstellung von setHasAlpha() auf true vOR Speichern des Bildes, so dass es so sein würde:

vor dem Speichern:

mBitmap.setHasAlpha(true); 

Speichern Sie das Bild als PNG, indem Sie die Methode zum Speichern verwenden, zum Beispiel:

File file = new File(folderDir, name); 
try { 
    file.createNewFile(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
FileOutputStream out = new FileOutputStream(file); 
mBitmap.setHasAlpha(true); 
mBitmap.compress(Bitmap.CompressFormat.PNG, 80, out); 
out.flush(); 
out.close();