2012-03-30 2 views
1

здесь tempdata - это данные, снятые с камеры, savephoto (Bitmap) - это метод, который используется для сохранения изображения, снятого с камеры, и выполняется точно, BUt on [2] Я накладываю еще одно растровое изображение, и когда я вызываю savephoto (p) , он создает пустой файл на карте памяти ... не сохраняет изображение. как я могу наложить два растрового изображения поверх друг другазахват изображения с камеры и наложение другого растрового изображения до его сохранения

[1]File Imgname = Environment.getExternalStorageDirectory(); 
Bitmap bmp = BitmapFactory.decodeByteArray(tempdata,0,tempdata.length); 
imv.setImageBitmap(bmp); 
savePhoto(bmp); 

[2]Bitmap bmp2 = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher); 
Bitmap b = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(b); 
canvas.drawBitmap(bmp, 0,0, null); 
canvas.drawBitmap(bmp2, 50, 50, null); 
savePhoto(b); 

любая помощь будет принята с благодарностью Thanx

ответ

2

вы можете сделать, как это после того, как получать после получения растрового изображения из камеры (предположим bitmap1) и ваш bitmap для наложения поверх bitmap1 (предположим bitmap2) вызовите этот overlayMark() с вашими растровыми изображениями, он вернет наложенное растровое изображение, которое является вашим искомым растровым изображением. Вы можете сохранить этот точечный рисунок ..

private Bitmap overlayMark(Bitmap bmp1, Bitmap bmp2) { 
    int bh = originalBitmap.getHeight(); 
    int bw = originalBitmap.getWidth(); 
    Bitmap bmOverlay = Bitmap.createBitmap(bw,bh,Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(bmOverlay); 
    canvas.drawBitmap(bmp1, 0, 0, null); 
    canvas.drawBitmap(bmp2, 0,0, null); 
    return bmOverlay; 
} 
+0

я попробовал этот код ,, но он не работает, когда я сохранить bmOverlay на карте памяти, он создает файл 0.0kb, означает пустой файл ,,,, – Pranav

+0

показать мне код, который я проверил –

+0

i am passinf bmOverlay в метод, который, в свою очередь, сохраняет файл, но он делает пустой файл, код для сохранения находится здесь: http: //stackoverflow.com/questions/ 9939719/how-to-retrieve-an-image-from-memory-card-in-this-scene – Pranav

Смежные вопросы