Есть ли способ иметь изображение, которое можно перемещать по камере? Я хочу, чтобы иметь возможность сделать снимок с изображением сверху.Как перемещать ImageView поверх камеры?
Спасибо!
Есть ли способ иметь изображение, которое можно перемещать по камере? Я хочу, чтобы иметь возможность сделать снимок с изображением сверху.Как перемещать ImageView поверх камеры?
Спасибо!
да, все, что вам нужно сделать, это
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" >
<!--Add your surface view to this frame layout -->
<FrameLayout
android:id="@+id/camera_preview"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
<ImageButton
android:id="@+id/button_capture"
android:src="@drawable/camera" />
ImageButton или любой другой вид будет показан на верхней части framelayout, где ваш вид поверхности отображения кадра камеры exists.For перемещения изображения вы можете сделать что-то вроде
void onTouch(Event event){
params.leftMargin = (int)event.getX();
params.topMargin = (int)event.getY();
imagebutton.setLayoutParams(params);
}
На самом деле это звучит так, будто вы хотите создавать сложные изображения. Вы можете использовать метод, описанный в другом ответе для предварительного просмотра, но когда вы действительно фотографируете, вам нужно будет вставить изображение в снимок. Не забывайте, что размер сделанного снимка, вероятно, будет больше, чем предварительный просмотр, поэтому вам может потребоваться изменить размер/положение вставленного изображения для соответствия.
Спасибо! Но как изменить размер и положение изображения в соответствии с предварительным просмотром? –
Если вы знаете размер предварительного просмотра и размер финального изображения, вы можете вычислить скаляр и умножить размер и положение вашего изображения на это. E.G. double scale = finalPictureWidth/previewWidth; previewOverlayWidth = finalPictureOverLayWidth * scale; previewOverlayXPos = finalPictureOverlayXPos * scale; .. затем сделайте то же самое для высоты, и у вас есть масштабированное положение и размер наложения для предварительного просмотра. –