Difference between revisions of "Image By Building byte array in Expression (BIRT)"
(→Description) |
(→Description) |
||
Line 28: | Line 28: | ||
ist.close(); | ist.close(); | ||
bytesa.toByteArray(); | bytesa.toByteArray(); | ||
+ | |||
+ | |||
+ | If you are using an SWT ImageLoader you can build an expression similar to: | ||
+ | |||
+ | importPackage(Packages.java.io); | ||
+ | importPackage(Packages.java.lang); | ||
+ | importPackage(Packages.org.eclipse.swt.widgets); | ||
+ | importPackage(Packages.org.eclipse.swt.graphics); | ||
+ | importPackage(Packages.org.eclipse.swt); | ||
+ | |||
+ | imgl = new ImageLoader(); | ||
+ | imgl.load("c:/temp/test.png"); | ||
+ | baos = new ByteArrayOutputStream(); | ||
+ | |||
+ | imgl.save(baos, SWT.IMAGE_PNG); | ||
+ | myout = baos.toByteArray(); | ||
== Comments == | == Comments == |
Revision as of 14:07, 16 May 2007
< To: Report Developer Examples (BIRT)
This example has no Bugzilla entry.
Introduction
This example demonstrates how to include an image by creating a byte array in an expression.
BIRT Version Compatibility
This example was built and tested with BIRT 2.1.2.
Example Files
This example has no example attachment.
Description
BIRT Image elements support URLs, Embedded images within the report, Images
from resource folders, and Dynamic images (BLOB) types usually from databases.
Another way of using the Dynamic image is construct your own byte array within the birt expression. This can also be done within a Java Event Handler on the image element.
When selecting the Dynamic image radial in the Image editor, the expression return value needs to be a byte array which contains the data for the image. As an example the following expression will return a working image.
importPackage(Packages.java.io); importPackage(Packages.java.lang); var file = new File("c:/temp/test.png"); var ist = new FileInputStream(file); var lengthi = file.length(); bytesa = new ByteArrayOutputStream( lengthi); var c; while((c=ist.read()) != -1){ bytesa.write(c); } ist.close(); bytesa.toByteArray();
If you are using an SWT ImageLoader you can build an expression similar to:
importPackage(Packages.java.io); importPackage(Packages.java.lang); importPackage(Packages.org.eclipse.swt.widgets); importPackage(Packages.org.eclipse.swt.graphics); importPackage(Packages.org.eclipse.swt);
imgl = new ImageLoader(); imgl.load("c:/temp/test.png"); baos = new ByteArrayOutputStream();
imgl.save(baos, SWT.IMAGE_PNG); myout = baos.toByteArray();
Comments
Please enter comments below by selecting the edit icon to the right. You will need a Bugzilla account to add comments.