Last updated on
Apr 27, 2021
Before you begin, see Camera Functions.
Launching the camera and capturing images
<cfclientsettings enableDeviceAPI=true> <cfclient> <cffunction access="public" name="getPicCam" returntype="void" > <cfset opt = cfclient.camera.getOptions()> <cfset res = cfclient.camera.getPicture(opt,false)> <cfset imgStr=cfclient.file.readAsBase64(res)> <cfset document.getElementById('myimg').src=imgStr> <cfset document.getElementById('fileName').innerHTML=res> </cffunction> </cfclient> <div id="fileName"/> <img style = "width:200; height:100;" id = "myimg"></img> <button onclick="invokeCFClientFunction('getPicCam',null)">getPicture - JPEG</button>
Getting images from different sources
<cfclientsettings enableDeviceAPI=true> <cfclient> <!--- Getting picture from device camera ---> <cffunction access="public" name="getPiccam" returntype="void" > <cfset opt = cfclient.camera.getOptions()> <cfset res = cfclient.camera.getPicture(opt,true)> <cfset res='data:image/jpeg;base64,'+res> <cfset document.getElementById('myimg').src=#res#> </cffunction> <!--- Getting picture from the album ---> <cffunction access="public" name="getPicalbm" returntype="void" > <cfset opt = cfclient.camera.getOptions()> <cfset res = cfclient.camera.getPictureFromAlbum(opt,true)> <cfset res='data:image/jpeg;base64,'+res> <cfset document.getElementById('myimg').src=#res#> </cffunction> <!--- Getting picture from the photo library ---> <cffunction access="public" name="getPiclib" returntype="void" > <cfset opt = cfclient.camera.getOptions()> <cfset res = cfclient.camera.getPictureFromPhotoLibrary(opt,true)> <cfset res='data:image/jpeg;base64,'+res> <cfset document.getElementById('myimg').src=#res#> </cffunction> </cfclient> <img style = "width:300; height:300;" id = "myimg"></img> <button onclick="invokeCFClientFunction('getPiccam',null)">Camera</button><br> <button onclick="invokeCFClientFunction('getPicalbm',null)">album</button><br> <button onclick="invokeCFClientFunction('getPiclib',null)">Library</button><br>
Setting camera options
<cfclientsettings enableDeviceAPI=true> <cfclient> <cffunction access="public" name="setopt" returntype="void" > <cfset options = {"quality" = "40", "encodingType" = "png"}> <cfset cfclient.camera.setOptions(options)> </cffunction> <button onclick="invokeCFClientFunction('setopt',null)">Set Camera Options</button> </cfclient>
Getting camera options
<cfclientsettings enableDeviceAPI=true> <cfclient> <cffunction access="public" name="getopt" returntype="void" > <cfset res = cfclient.camera.getOptions()> </cffunction> <button onclick="invokeCFClientFunction('getopt',null)">Get Camera Options</button> </cfclient>
Storing the images
<cfclientsettings enableDeviceAPI=true> <cfclient> <cftry> <cfset opt = cfclient.camera.getOptions()> <cfset res = cfclient.camera.getPicture(opt,false)> <cfif !cfclient.file.directoryExists('mydir')> <cfset cfclient.file.createDirectory('mydir')> </cfif> <cfif opt.encodingtype eq "jpeg"> <cfset cfclient.file.copy(res,'mydir/img.jpg')> <cfif cfclient.file.exists('mydir/img.jpg')> <cfset filObj=cfclient.file.get('mydir/img.jpg')> <cfset document.getElementById('result').innerHTML=#filObj.fullPath#> </cfif> <cfelse> <cfset cfclient.file.copy(res,'mydir/img1.png')> <cfif cfclient.file.exists('mydir/img1.png')> <cfset filObj=cfclient.file.get('mydir/img1.png')> <cfset document.getElementById('result').innerHTML=#filObj.fullPath#> </cfif> </cfif> <cfcatch type="any"> <cfset alert(cfcatch.message)> </cfcatch> </cftry> </cfclient> <div id="result"/>
Cleaning up
<cfclientsettings enableDeviceAPI=true> <cfclient> <cffunction access="public" name="cleanup" returntype="void" > <cftry> <cfset cfclient.camera.cleanup()> <cfcatch type="any"> <cfset alert(cfcatch.message)> </cfcatch> </cftry> </cffunction> <button onclick="invokeCFClientFunction('cleanup',null)">Cleanup now</button><br><br> </cfclient>