SDK API - Photo Feature
PLEASE NOTE: USAGE OF THIS FEATURES IS RESTRICTED AND AVAILABLE AS CLOSED BETA THROUGH OUR EARLY ACCESS PROGRAM. PLEASE FILL OUT THE REGISTRATION FORM IN ORDER TO APPLY FOR THE PROGRAM
Take an image with MARK2 to increase your process quality.
Take Image commands, like all commands that trigger an action on MARK, will by default be queued in PgConnect.
By providing a special flag in PgCommandParams
, this behaviour can be changed to replace the queue with this new command.
For more Information about the queueing behaviour click here
Taking Images with MARK
You want to be able to initiate image taking mode and receive images taken with the connected device, to do this call pgManager.startImageMode(...)
, after you have initialized the pgManager.
You should provide a configuration for the image mode which is done through the PgImageConfig
class, wrapped in a PgCommand
and a
callback that handles the response. For this callback implement the IPgImageCallback
interface (code in Kotlin):
The convenience function PgImageConfig.toComamnd()
used here to wrap the PgImageConfig
optionally takes a PgCommandParams
object,
which gives additional control over how the command should be executed. For now we only support the replaceQueue
flag here,
which if set to true cancels all the commands currently in the queue and adds itself as the first element. More information can be found here
takeImageButton.setOnClickListener {
val config = PgImageConfig()
val imageCallback = object : IPgImageCallback {
override fun onImageReceived(image: PgImage) {
//sample implementation for showing the picture in an imageView
val bmp = BitmapFactory.decodeByteArray(image.bytes, 0, image.bytes.size)
//make sure you execute any UI related code on the UI Thread
runOnUiThread {
imageTaken.setImageBitmap(bmp)
}
}
override fun onImageError(errorReason: PgError) {
//implement your logic depending on the error reason returned
// make sure you execute any UI related code on the UI Thread
runOnUiThread {
// handle error code here
}
}
}
pgManager.startImageMode(config.toCommand(), timeout, imageCallback)
}