Hi, (1) Not all device support camera zoom, examine the camera parameters to see if zoom is supported on the device. (2) If zoom is supported query the camera parameters again to find out the valid zoom values, this is usually a list of integer values. (3) Set the zoom value to be one of the valid zoom values from the list in (2). In your example 100 may not be a valid zoom value.
Regards On Oct 31, 3:01 am, livewire9174 <[email protected]> wrote: > Hi, > I want to get my camera to zoom in to get a picture. This code is not > zooming. > > Here is my code > > import java.io.FileNotFoundException; > import java.io.FileOutputStream; > import java.io.IOException; > > import android.content.Context; > import android.graphics.Canvas; > import android.graphics.Color; > import android.graphics.Paint; > import android.hardware.Camera; > import android.hardware.Camera.PreviewCallback; > import android.util.Log; > import android.view.SurfaceHolder; > import android.view.SurfaceView; > > class Preview extends SurfaceView implements SurfaceHolder.Callback { > private static final String TAG = "Preview"; > > SurfaceHolder mHolder; > public Camera camera; > > Preview(Context context) { > super(context); > > // Install a SurfaceHolder.Callback so we get notified when > the > // underlying surface is created and destroyed. > mHolder = getHolder(); > mHolder.addCallback(this); > mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); > } > > public void surfaceCreated(SurfaceHolder holder) { > // The Surface has been created, acquire the camera and tell > it where > // to draw. > camera = Camera.open(); > Camera.Parameters parameters = camera.getParameters(); > parameters.set("orientation", "portrait"); > > parameters.setWhiteBalance(Camera.Parameters.WHITE_BALANCE_TWILIGHT); > parameters.setZoom(100); > > camera.setParameters(parameters); > > try { > camera.setPreviewDisplay(holder); > // camera.setDisplayOrientation(90); > > camera.setPreviewCallback(new PreviewCallback() { > > public void onPreviewFrame(byte[] data, > Camera arg1) { > FileOutputStream outStream = null; > try { > outStream = new > FileOutputStream(String.format("/sdcard/ > test.jpg", System.currentTimeMillis())); > outStream.write(data); > outStream.close(); > Log.d(TAG, "onPreviewFrame - > wrote bytes: " + data.length); > } catch (FileNotFoundException e) { > e.printStackTrace(); > } catch (IOException e) { > e.printStackTrace(); > } finally { > } > Preview.this.invalidate(); > } > }); > } catch (IOException e) { > e.printStackTrace(); > } > } > > public void surfaceDestroyed(SurfaceHolder holder) { > // Surface will be destroyed when we return, so stop the > preview. > // Because the CameraDevice object is not a shared resource, > it's very > // important to release it when the activity is paused. > camera.stopPreview(); > camera = null; > } > > public void surfaceChanged(SurfaceHolder holder, int format, int > w, int h) { > // Now that the size is known, set up the camera parameters > and begin > // the preview. > Camera.Parameters parameters = camera.getParameters(); > parameters.setPreviewSize(w, h); > camera.setParameters(parameters); > parameters.set("orientation", "portrait"); > > parameters.setWhiteBalance(Camera.Parameters.WHITE_BALANCE_SHADE); > parameters.setZoom(100); > > camera.startPreview(); > } > > @Override > public void draw(Canvas canvas) { > super.draw(canvas); > Paint p= new Paint(Color.RED); > Log.d(TAG,"draw"); > canvas.drawText("PREVIEW", canvas.getWidth()/2, > canvas.getHeight()/2, p ); > } > > > > > > > > } -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

