mirror of
https://gitee.com/shuto/customCamera.git
synced 2026-05-02 00:07:24 +08:00
Binary file not shown.
|
After Width: | Height: | Size: 7.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
@@ -6,9 +6,7 @@
|
||||
<FrameLayout
|
||||
android:id="@+id/camera_preview"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentTop="true" >
|
||||
android:layout_height="fill_parent" >
|
||||
</FrameLayout>
|
||||
|
||||
<ImageView
|
||||
|
||||
@@ -198,10 +198,46 @@ public class CameraActivity extends Activity {
|
||||
|
||||
customCamera.setDisplayOrientation(orientation);
|
||||
|
||||
DisplayMetrics dm = new DisplayMetrics();
|
||||
getWindowManager().getDefaultDisplay().getMetrics(dm);
|
||||
|
||||
FrameLayout cameraPreview = (FrameLayout) findViewById(R.id.camera_preview);
|
||||
RelativeLayout.LayoutParams paramsCameraPreview =
|
||||
new RelativeLayout.LayoutParams(cameraPreview.getLayoutParams());
|
||||
|
||||
Size camParameters = customCamera.getParameters().getPictureSize();
|
||||
|
||||
int minSize;
|
||||
int maxSize;
|
||||
if (camParameters.width > camParameters.height) {
|
||||
maxSize = camParameters.width;
|
||||
minSize = camParameters.height;
|
||||
} else {
|
||||
maxSize = camParameters.height;
|
||||
minSize = camParameters.width;
|
||||
}
|
||||
|
||||
int widthScreen = dm.widthPixels;
|
||||
int heightScreen = dm.heightPixels;
|
||||
float ratio;
|
||||
if (widthScreen > heightScreen) {
|
||||
paramsCameraPreview.height = LayoutParams.FILL_PARENT;
|
||||
ratio = ( (float)minSize / (float)heightScreen );
|
||||
paramsCameraPreview.width = (int)(maxSize / ratio);
|
||||
int marginLeft = (int) (((float)(widthScreen - paramsCameraPreview.width)) / 2);
|
||||
paramsCameraPreview.setMargins(marginLeft, 0, 0, 0);
|
||||
} else {
|
||||
paramsCameraPreview.width = LayoutParams.FILL_PARENT;
|
||||
ratio = ( (float)minSize / (float)widthScreen );
|
||||
paramsCameraPreview.height = (int)(maxSize / ratio);
|
||||
int marginTop = (int) (((float)(heightScreen - paramsCameraPreview.height)) / 2);
|
||||
paramsCameraPreview.setMargins(0, marginTop, 0, 0);
|
||||
}
|
||||
cameraPreview.setLayoutParams(paramsCameraPreview);
|
||||
|
||||
// Assign the render camera to the view
|
||||
CameraPreview myPreview = new CameraPreview(this, customCamera);
|
||||
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
|
||||
preview.addView(myPreview);
|
||||
cameraPreview.addView(myPreview);
|
||||
|
||||
// The zoom bar progress
|
||||
final SeekBar zoomLevel = (SeekBar) findViewById(R.id.zoomLevel);
|
||||
|
||||
Reference in New Issue
Block a user