2013-08-07 6 views

ответ

1

да, все, что вам нужно сделать, это

<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); 
} 
1

На самом деле это звучит так, будто вы хотите создавать сложные изображения. Вы можете использовать метод, описанный в другом ответе для предварительного просмотра, но когда вы действительно фотографируете, вам нужно будет вставить изображение в снимок. Не забывайте, что размер сделанного снимка, вероятно, будет больше, чем предварительный просмотр, поэтому вам может потребоваться изменить размер/положение вставленного изображения для соответствия.

+0

Спасибо! Но как изменить размер и положение изображения в соответствии с предварительным просмотром? –

+0

Если вы знаете размер предварительного просмотра и размер финального изображения, вы можете вычислить скаляр и умножить размер и положение вашего изображения на это. E.G. double scale = finalPictureWidth/previewWidth; previewOverlayWidth = finalPictureOverLayWidth * scale; previewOverlayXPos = finalPictureOverlayXPos * scale; .. затем сделайте то же самое для высоты, и у вас есть масштабированное положение и размер наложения для предварительного просмотра. –

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