0
我想將公司的企業徽標添加到Android中的jpeg文件[照片]中。 我嘗試了幾次將照片轉換爲位圖並添加然後添加徽標,導致出現OutOfMemoryError。在Android中將徽標添加到jpeg中
編輯: 現在的工作,但真的需要大量的時間和記憶...... 我的代碼是:從logcat的
Bitmap logo = BitmapFactory.decodeResource(
mainActivity.getResources(), R.drawable.logo);
Bitmap photo =BitmapFactory.decodeByteArray(jpeg[0], 0, jpeg[0].length);
Bitmap combination = Bitmap.createBitmap(photo.getWidth(), photo.getHeight(), Bitmap.Config.RGB_565);
Canvas comboImage = new Canvas(combination);
comboImage.drawBitmap(photo, 0f, 0f, null);
comboImage.drawBitmap(logo, 0f, 200, null);
try {
FileOutputStream out = new FileOutputStream(mediaFile);
combination.compress(Bitmap.CompressFormat.PNG, 100, out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
輸出:
01-29 15:40:44.154: I/dalvikvm-heap(5065): Grow heap (frag case) to 109.067MB for 25560592-byte allocation
01-29 15:40:44.184: I/Choreographer(5065): Skipped 36 frames! The application may be doing too much work on its main thread.
你這是什麼建議?
非常感謝。盧卡斯
發佈一些代碼和錯誤堆棧 –
可能的重複[如何將多個圖像合併到一個單一的圖像在Android?](http://stackoverflow.com/questions/15151937/how-to-combine-multiple-images -into-a-image-in-android) – njzk2
涉及的圖像大小是多少?可能你正試圖加載一張不適合你設備內存的圖像。加載jpeg圖像時,它會創建比原始jpeg更大(以字節爲單位)的位圖。嘗試做同樣的事情,但用較小的圖像。 – Christian