No.
There are potential workarounds, depending on your situation. One is to draw on an opaque image, using some "magic colour" (a colour you promise not to use for anything else), which you can later replace with transparent.
Code:
private static final int MAGIC_COLOR = 0xff00ff;
// we could use the Nokia API, but let's keep it portable
Image buffer = Image.createImage(width, heigth);
Graphics g = buffer.getGraphics();
g.setColor(MAGIC_COLOR);
g.fillRect(0, 0, width, height);
// now... draw whatever you want
// next, transparantize!
int[] pixels = new int[width * height];
buffer.getRGB(pixels, 0, width, 0, 0, width, height);
for (int i = 0; i < pixels.length; i++) {
if (pixels[i] == (0xff000000 | MAGIC_COLOR)) {
pixels[i] = 0x00000000;
}
}
buffer = Image.createRGBImage(pixels, width, height, true);
Bear in mind that the bit-depth of the image when you're drawing on it might not be 32 bit. When converting between Image, int[] and back, some pixel values might change slightly. Keep your "magic colour" to 0xff or 0x00 for each channel, to avoid it getting corrupted. Don't use colours when drawing that are even close to it. For example, 0xfe01fe might get adjusted to 0xff00ff when drawing to an image, if that's the closest colour value the image's colour model can represent.
Another option might be to create a transparent PNG, and use DirectUtils to create a mutable image from it (assuming that method works!).
Graham.