Name

lcdui.image — Creates an image.

Synopsis

lcdui.image [ -file filename ] [ -rms recordstore ] [ -resource resourcename ] [ -image image ] [ -data data ]

$imagecmd [cget -optname ] [configure -optname optval ] [thumbnail [thumbwidth [thumbwidth] ] ] [graphics]

Description

The lcdui.image command creates an image, from some data, either by indicating a filename, record store, or a resource name. It returns an object/command that can be utilized to manipulate the image. Mutable images are those loaded from existing data, generally. Immutable images are created as a "blank slate", with white pixels. For an in-depth look at the Java code that this command is based on, see: javax.microedition.lcdui.Image

The options available for the lcdui.image command are described below:

  • -file: Load the image from the given file name.

  • -rms: Load the image from the given record store.

  • -resource: Load the image from the given resource. By "resource", we mean a file included in the .jar.

  • -image: Create a new image from an existing image.

  • -data: Create a new image from binary data.

The subcommands available to an $imagecmd are listed below:

  • thumbnail: Creates a thumbnail from the image.

  • graphics: Unless the image is immutable, creates and returns a new graphics object associated with the image.

Creating base64 encoded images

There are two ways to include images in Hecl applications. One is to add the image to the .jar file itself. The second is to include it directly in the script, as a base64 included string. Here's how to do so on a Linux machine:

  1. Create an image. For example, with "The Gimp", an image manipulation program on Linux, you might create a PNG, x.png.

  2. Now you need to turn the binary PNG file into a string that can be included in a script:

    base64 < x.png > x.txt
  3. Now copy and paste x.txt into your script, like in the script below

Example

# base64 encoded PNG
set data {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}

set logo [lcdui.image -resource /hecl_logo.png]
set ximg [lcdui.image -data [base64::decode $data]]
set form [lcdui.form -title "Show Image"]
$form append $logo
$form append $ximg
$form setcurrent
	  

Live example: http://www.heclbuilder.com/scripts/show/150