User Tools

Site Tools


Sidebar

Privacy Policy

News

Version 2.50 is out since Jan 1st 2022


Frequently Asked Questions


Namespaces

Note for contributors

If you wish to create a new page in the DroidScript wiki, please click on the most appropriate namespace above and follow the notes for contributors there.

Because of spam, it has been necessary to add a CAPTCHA to the registration form and the save option for editing pages. You will not need to prove you are human if you are logged in, so please register.

Please feel free to improve any existing page, as well as adding new pages to increase the sum of public knowledge about DroidScript.

Formatting Syntax

built_in:cameraview

This is an old revision of the document!


CameraView control

(Information and examples taken from the DroidScript documentation)

Description

Create a camera preview control using the CreateCameraView function of the app object:

cam = app.CreateCameraView( width, height, options );

This control allows your program to show a live feed of what is currently being seen by the phone/tablet's camera. If your device has a front facing camera and is at least version 2.3 of Android you can use the “Front” option to show the front camera's preview.

You will need to call the StartPreview function of the CameraView control to start the preview
(Note: On some phones it is neccessary to wait at least one second before calling the StartPreview function).

cam.StartPreview();

Use the TakePicture function to take a picture and save it to a given location.

cam.TakePicture( filename );

Use the SetPictureSize function to set the dimensions in pixels of the pictures taken (eg. 1024 x 768).

cam.SetPictureSize( width, height );

For more sophisticated examples including motion detection and video streaming, check out the 'Camera Stream', 'Camera Snap' and 'Camera Motion' sample programs in the DroidScript samples section.


Methods

Some controls use the same methods.
For examples of the same methods look here.

Method Description
CameraView.AutoCapture( folder, fileName, maxCount )
CameraView.Destroy()
CameraView.FindFaces( max )
CameraView.Focus()
CameraView.GetAbsHeight()
CameraView.GetAbsWidth()
CameraView.GetCameraCount()
CameraView.GetColorEffects() use in SetOnReady
CameraView.GetHeight()
CameraView.GetImageHeight()
CameraView.GetImageWidth()
CameraView.GetMaxZoom()
CameraView.GetParameters()
CameraView.GetPictureSizes()
CameraView.GetPixelData( format,left,top,width,height ) format can be “rawbase64”, “pngbase64” or “jpgbase64”
CameraView.GetPosition()
CameraView.GetType()
CameraView.GetVisibility()
CameraView.GetWidth()
CameraView.GetZoom()
Cameraview.IsRecording()
CameraView.MotionMosaic( xtiles, ytiles, sensitivity, minPeriod, imageObj )
CameraView.Record(file,seconds)
CameraView.Release()
CameraView.ReportColors( list,callback,sampSize,maxRate )
CameraView.SetBackColor( color )
CameraView.SetBackGradient( color1,color2,color3,p4,p5,p6,p7 )
CameraView.SetBackGradientRadial( x,y,r,color1,color2,color3,p7 )
CameraView.SetBackground( imagefile,options )
CameraView.SetColorEffect( effect ) use in SetOnReady
CameraView.SetDuplicateImage( img1,img2 )
CameraView.SetFlash( onoff ) set to true or false
CameraView.SetFocusMode( mode )
CameraView.SetMargins( left,top,right,bottom )
CameraView.SetOnMotion( callback )
CameraView.SetOnPicture( callback )
CameraView.SetOnReady( callback )
CameraView.SetPadding( left,top,right,bottom )
CameraView.SetParameter( name,value )
CameraView.SetPictureSize( width,height ) Set size in pixel
CameraView.SetPosition( left, top, width, height )
CameraView.SetPreviewImage( imageObj )
CameraView.SetScale( x,y )
CameraView.SetSize( width, height )
CameraView.SetSound( onoff )
CameraView.SetVisibility( HideShow )
CameraView.SetZoom( level )
CameraView.StartPreview()
CameraView.Stop()
CameraView.StopPreview()
CameraView.Stream( ip,p2,quality,fps,p5 )
CameraView.TakePicture( fileName )

Options

These are the camera resolution options:  

  • CIF
  • QVGA
  • SVGA
  • VGA
  • XGA
  • UXGA

Example - Show camera preview

function OnStart()
{
  lay = app.CreateLayout( "Linear", "VCenter,FillXY" );
 
  cam = app.CreateCameraView( 0.8, 0.4 );
 
  cam.SetOnReady( cam_OnReady );
 
  lay.AddChild( cam );
 
  app.AddLayout( lay );
}
 
// Runs after "SetOnReady" as a callback
function cam_OnReady() {
  cam.StartPreview();
}

Example - Take pictures

function OnStart()
{
  lay = app.CreateLayout( "Linear", "VCenter,FillXY" );
 
  cam = app.CreateCameraView( 0.8, 0.4 );
  lay.AddChild( cam );
  cam.SetPictureSize( 1024, 768 );
  setTimeout( "cam.StartPreview()", 1000 );
 
  btn = app.CreateButton( "Snap", 0.3, -1 );
  btn.SetOnTouch( Snap );
  lay.AddChild( btn );
 
  app.AddLayout( lay );
}
 
function Snap()
{
  cam.TakePicture( "/sdcard/MyPic.jpg" );
  app.ShowPopup("Picture saved");
}

Example - Record Video

//Called when application is started. 
function OnStart() 
{    
	//Fix orientation to landscape since 
	//most phones cameras work this way.    
	app.SetOrientation( "Landscape" ); 
	   
	//Create horizontal layout that fills the screen. 
	lay = app.CreateLayout( "Linear", "Horizontal,FillXY,VCenter" ); 
	lay.SetBackground( "/res/drawable/pattern_carbon", "repeat" ); 
  
	//Create camera view control. 
	cam = app.CreateCameraView( 0.6, 0.8 );	 
	cam.SetOnReady( cam_OnReady ); 
	cam.SetMargins( 0, 0, 0.04, 0 ); 
	lay.AddChild( cam );   
 
	//Create vertical layout on right for other stuff. 
	layRight = app.CreateLayout( "Linear", "Vertical" ); 
	lay.AddChild( layRight ); 
 
	//Create record button. 
	btn = app.CreateButton( "Record", 0.2, 0.15, "Alum" ); 
	btn.SetMargins( 0, 0.06, 0, 0 ); 
	btn.SetOnTouch( btn_OnTouch ); 
	layRight.AddChild( btn );  
 
	//Add main layout to app. 
	app.AddLayout( lay ); 
 
	//Create a folder for recordings. 
	recFolder = "/sdcard/Videos"; 
	app.MakeFolder( recFolder ); 
} 
 
//Called when camera is ready. 
function cam_OnReady() 
{ 
    //Set focus mode and start preview. 
    cam.SetFocusMode( "Video" ); 
    cam.StartPreview(); 
} 
 
//Handle record button. 
function btn_OnTouch() 
{ 
	if( cam.IsRecording() )  
	{ 
	    //Stop recording and update button. 
	    cam.Stop(); 
	    btn.SetText( "Record" ); 
	} 
	else  
	{ 
	    //Start recording and update button. 
	    cam.Record( recFolder+"/test.mp4" ); 
	    btn.SetText( "Stop" ); 
	} 
}
built_in/cameraview.1466773984.txt.gz · Last modified: 2016/06/24 21:13 (external edit)