Я создаю одно приложение, которое использует камеру. камера прекрасно работает как в пейзаже, так и в портретной. Но изображение результата прекрасно устанавливается в рамке в ландшафтном режиме. но в портрете результат изображения устанавливается в кадре под углом 90 градусов. Как решить эту проблему?Предварительный просмотр камеры в портретном режиме
public void createImageInImageCenter() {
Bitmap backgroundBitmap = DgCamActivity.photo;
backgroundBitmap = backgroundBitmap.createScaledBitmap(
backgroundBitmap, 900, 700, true);
Bitmap bitmapToDrawInTheCenter = null;
File f = new File(FrameGridView.selected_img);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
try {
bitmapToDrawInTheCenter = BitmapFactory.decodeStream(
new FileInputStream(f), null, options);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
bitmapToDrawInTheCenter = bitmapToDrawInTheCenter.createScaledBitmap(
bitmapToDrawInTheCenter, 900, 700, true);
resultBitmap = Bitmap.createBitmap(backgroundBitmap.getWidth(),
backgroundBitmap.getHeight(), backgroundBitmap.getConfig());
Canvas canvas = new Canvas(resultBitmap);
canvas.drawBitmap(backgroundBitmap, new Matrix(), null);
canvas.drawBitmap(bitmapToDrawInTheCenter, 0, 0, new Paint());
ImageView image = (ImageView) findViewById(R.id.final_img);
image.setImageBitmap(resultBitmap);
}
этот код правильно поместил изображение, сделанное камерой, в рамку. – Gopal
этот код разрешен вы выдаете то, пожалуйста, подтвердите и исправьте в качестве ответа – Shailesh
sry @Shaileshi попробуйте этот код, он не работает. bitmapToDrawInTheCenter = bitmapToDrawInTheCenter.createScaledBitmap ( bitmapToDrawInTheCenter, 900, 700, true); resultBitmap = Bitmap.createBitmap (backgroundBitmap.getWidth(), backgroundBitmap.getHeight(), backgroundBitmap.getConfig()); Холст холст = новый холст (resultBitmap); canvas.drawBitmap (backgroundBitmap, новый Matrix(), null); canvas.drawBitmap (bitmapToDrawInTheCenter, 0, 0, новый Paint()); – Gopal