This week's book giveaway is in the OO, Patterns, UML and Refactoring forum.
We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line!
See this thread for details.
The moose likes Applets and the fly likes gif image shows only in black and white Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

JavaRanch » Java Forums » Java » Applets
Bookmark "gif image shows only in black and white" Watch "gif image shows only in black and white" New topic

gif image shows only in black and white

Rikhard Parssinen

Joined: Mar 03, 2005
Posts: 1

I'm trying to convert normal image to PlanarImage but the PlanarImage will show only black & white image in the applet. My guess is that it has something to do with bands but I can't figure out how to solve the problem.

Here is the code what I'm trying to use in applet's init method

public void init(){
Image my_gif;
URL base;
MediaTracker mt;

mt = new MediaTracker(this);
try {
base = getCodeBase();
catch (Exception e) {}

my_gif = getImage(base,"image.gif");

try {
catch (InterruptedException e) {}

int imageHeight = my_gif.getHeight(this);
int imageWidth = my_gif.getWidth(this);

int numBands = 3;
int len = imageHeight * imageWidth * numBands;

byte[] imageData = null;

PixelGrabber pixeli = new PixelGrabber(my_gif, 0, 0, imageWidth, imageHeight,false);
SeekableStream ss = null;
try {
imageData = (byte[])pixeli.getPixels();
} catch (InterruptedException e2) {

ColorModel cm = pixeli.getColorModel();
SampleModel sm = cm.createCompatibleSampleModel(imageWidth,imageHeight);

TiledImage tiledImage = new TiledImage(new Point(),sm,imageWidth,imageHeight);
DataBufferByte dbb = new DataBufferByte(imageData,len);

Raster raster = RasterFactory.createWritableRaster(sm,dbb,new Point());

PlanarImage image = (PlanarImage)tiledImage;
Have you checked out Aspose?
subject: gif image shows only in black and white
It's not a secret anymore!