我想並排保存2位圖到有效的圖像文件。Android - 將2位圖保存爲僅一個圖像文件
我可以保存位圖位圖中的所有字節,並且圖像文件是一個有效的圖像字節,我可以打開並查看該圖像,但只是第一個位圖顯示在圖像中!
我嘗試這樣做:
void save_bitmaps()
{
ByteArrayOutputStream stream = new ByteArrayOutputStream();
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/req_images");
myDir.mkdirs();
String fname = "Map"+ String.valueOf(10) + ".png";
File file = new File(myDir, fname);
for(int i=0;i<2;i++)
{
int count=0;
//------------------------------------------
Bitmap bitmap = Bitmap.createBitmap(500,500,Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bitmap);
if(i==0)
c.drawColor(Color.BLUE);
if(i==1)
c.drawColor(Color.RED);
bitmap.compress(Bitmap.CompressFormat.PNG,100,stream);
byte[] bytarray = stream.toByteArray();
//----------------------------------------------------------------
if (file.exists())
file.delete();
try {
FileOutputStream out = new FileOutputStream(file);
out.write(bytarray,count,bytarray.length);
out.flush();
out.close();
count+=bytarray.length;
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getContext() , "ERROR" , Toast.LENGTH_SHORT).show();
}
}
Toast.makeText(getContext() ,"Saved" , Toast.LENGTH_SHORT).show();
}
這段代碼的工作,但沒有表現出他們兩個!
這是我的目標:
我怎麼能做到這一點。請幫助,如果你知道我可以做到這一點!
NOTE: 1.我從來不想將2位圖組合成另一個位圖並保存目標位圖。
- 如果您知道另一種方法將2位圖保存爲僅一個圖像文件而不使用字節數組,請對我說!
謝謝大家!
'想要將2位圖並排保存到有效的圖像文件中。你終於展示了一些代碼。但是你忘了告訴你的代碼現在做什麼。 – greenapps
一個有效的png文件只能保存一張圖片。所以你要求不可能。 GIF和TIFF可以容納更多。如果你想要一個PNG文件是兩個位圖的結果,那麼你必須首先將這些bjtmaps結合到一個位圖。 – greenapps
奇怪的是,這是你的第三個同樣的問題。在前兩個你只想寫兩個位圖到同一個文件。這將是非常簡單的。但它不會是一個有效的圖像文件。 「有效」對我來說是新的。你之前可能已經提到過。 – greenapps