Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.tionsys.fastshot;
- import android.hardware.Camera;
- import android.hardware.Camera.Size;
- import android.view.SurfaceHolder;
- import android.view.SurfaceView;
- import android.widget.Toast;
- public class FastSnapshotPreview
- {
- Camera cam = null;
- SurfaceView view = null;
- SurfaceHolder holder = null;
- public FastSnapshotPreview(Camera camera, SurfaceView sfv)
- {
- cam = camera;
- view = sfv;
- holder = sfv.getHolder();
- holder.addCallback(callback);
- }
- private void initPreview(int width, int height)
- {
- if(cam == null || holder.getSurface() == null) return;
- try
- {
- cam.setPreviewDisplay(holder);
- Camera.Parameters parameters = cam.getParameters();
- Size result = null;
- for (Size size : parameters.getSupportedPreviewSizes())
- {
- if(size.width <= width && size.height <= height)
- {
- if(result == null)
- {
- result=size;
- }
- else
- {
- int resultArea = result.width*result.height;
- int newArea = size.width*size.height;
- if(newArea > resultArea)
- {
- result = size;
- }
- }
- }
- }
- if (result != null)
- {
- Toast.makeText(FastSnapshotActivity.master, "Parameter werden gesetzt !", 5).show();
- parameters.setPreviewSize(result.width, result.height);
- cam.setParameters(parameters);
- }
- }
- catch (Throwable t)
- {
- // do nothings;
- }
- }
- private void startLivePreview()
- {
- if(cam == null) return;
- cam.startPreview();
- }
- SurfaceHolder.Callback callback = new SurfaceHolder.Callback()
- {
- public void surfaceCreated(SurfaceHolder holder)
- {
- // do nothings;
- }
- public void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
- {
- initPreview(width, height);
- startLivePreview();
- }
- public void surfaceDestroyed(SurfaceHolder holder)
- {
- // do nothings;
- }
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement