2017-06-12 7 views
2

に保存した画像に黒い色を変更するアンドロイド:Javaは私がこれをしなかったファイルにこんにちは、私は私の画像を回転して保存したいtracspadenceとファイル

for (int i = 0; i < 361; i++) { 
    Bitmap bm = RotateMyBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.znacznik_new), i); 
    String path = Environment.getExternalStorageDirectory().toString(); 
    OutputStream fOut = null; 
    Integer counter = 0; 
    File file = new File(path, "ikona"+i+".jpg"); // the File to save , append increasing numeric counter to prevent files from getting overwritten. 
    try { 
     fOut = new FileOutputStream(file); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 


    bm.compress(Bitmap.CompressFormat.JPEG, 85, fOut); // saving the Bitmap to a file compressed as a JPEG with 85% compression rate 
    try { 
     fOut.flush(); // Not really required 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    try { 
     fOut.close(); // do not forget to close the stream 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    try { 
     MediaStore.Images.Media.insertImage(getContentResolver(),file.getAbsolutePath(),file.getName(),file.getName()); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 
} 


    public static Bitmap RotateMyBitmap(Bitmap source, float angle) { 
     Matrix matrix = new Matrix(); 
     matrix.postRotate(angle); 
     return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true); 
    } 

そして、私は、画像を回転させると、私はファイルを持っていますが、イメージは持っています黒い背景と私の鼻の画像は、それが透明性を持っている黒の背景を持っていません。黒の色を透明に変えてファイルに保存する方法

+0

誰も 'RotateMyBitmap'が本当に – pskink

+0

あるご' RotateMyBitmap'方法に問題が何であるかを知りません。 –

+2

JPEGは透過性をサポートしていません.PNGを試してみてください。 Bitmap.CompressFormat.PNG。 – wrkwrk

答えて

1

JPEGは透明をサポートしていないため、すべての透明部分が黒くなります。 ビットマップをBitmap.CompressFormat.PNGで圧縮します。

bm.compress(Bitmap.CompressFormat.PNG, 100, fOut);

JPEG black, PNG transparent

関連する問題