Я пробовал несколько разных способов заставить это работать, но остановился. Я получаю фотографию с камеры и сохраняю ее с наложением.Android Изображение с камеры сохранено с наложением
Чтобы объединить изображения, я работал, как сделать это с двумя точечными изображениями и холст, как так:
Bitmap combined = Bitmap.createBitmap(mImage.getWidth(), mImage.getHeight(), null);
Canvas canvas = new Canvas(combined);
canvas.drawBitmap(image, new Matrix(), null);
canvas.drawBitmap(mOverlay, 0,0,null);
output = new FileOutputStream(new File(mFile.getPath(), mFileName + "(overlay).jpg"));
output.write(bytes);
output.close();
Этот вопрос я использую Camera2, который возвращает изображение. Я не разработал способ превратить изображение в растровое изображение. Я попытался сохранить изображение, а затем перезагрузить его с помощью BitmapFactory, но часто заканчиваю OutOfMemory Exceptions.
У кого-нибудь есть способ обойти это?
UPDATE
Bitmap image = Bitmap.createBitmap(mImage.getWidth(),mImage.getHeight(), Bitmap.Config.ARGB_8888);
image.copyPixelsFromBuffer(mImage.getPlanes()[0].getBuffer().rewind());
я наткнулся на это в другой ответ, но я получаю Buffer not large enough for pixels
исключение, даже когда я указал буфер до 8х больше, чем должно было быть необходимо.
ли оба изображения с камеры или один от ресурса и другой из камеры? –
Один из ресурсов, один из камеры. Изображение ресурса в порядке – dragnflier