Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (780)
Games in Android Showcase (233)
games submitted by our members
Games in WIP (856)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  expected image data  (Read 1636 times)
0 Members and 1 Guest are viewing this topic.
Offline bedelf

Junior Devvie

Are you suggesting coconuts migrate?

« Posted 2003-01-31 10:04:19 »

What I want to do right now is load an image file, probably PNG, and rip the pixel/indice and colormodel out, and convert them if needed. But I'm not totally sure on what I may be getting sometimes..

Let's say I load an image, could be gif/png/whatever the normal way using Toolkit, then use PixelGrabber to get the ColorModel and instanceof says getColorModel() is IndexColorModel, am I guaranteed getPixels() returns a simple array of bytes that are just the indices to the color map? i.e. array of 0-255 values.

Also, say it's a DirectColorModel, I pretty much want the array of pixels and DirectColorModel to match ColorModel.getRGBDefault(), is there a way to check with certainty that things are as I need them or should I just convert it no matter what?

I pretty much want a class that maintains a memory image source, argb pixel or palettized indice array, an array of IndexColorModel's to change out the palette if were using a palettized image, and of course, the image created with the MemoryImageSource. I need access the valid pixel or indice info, as well as the image to draw, so i can update it etc..

anyways, the question is, what's the best way to ensure the data is loaded and conforms both ways? i.e. Palettized images have a byte array of indices 0-255 and otherwise a DefaultColorModel with int[] pixels 0xAARRGGBB.

meh. :/ I hope that made sense to someone.
Offline Abuse

JGO Ninja

Medals: 71

falling into the abyss of reality

« Reply #1 - Posted 2003-01-31 20:50:23 »

I know exactly what your asking - but I don't know the answer either Tongue

if some1 does - you'd be killing 2 birds with 1 stone if u told us Cheesy
Offline bedelf

Junior Devvie

Are you suggesting coconuts migrate?

« Reply #2 - Posted 2003-02-07 21:05:06 »

For anyone who cares:

Right now I'm using PixelGrabber to take 1 pixel using the first constructor specifying not to force default RGB.

If the color model of that pixel is DirectColorModel you can create a new pixel grabber and pass it true so it rips any pixel data using default RGB. Specified by ColorModel.getRGBDefault(). so basically if your image is truecolor, you've just the ripped the pixels and made it conform, getPixels() will return your pixel array just how you want it.

If the color model is IndexColorModel, it seems like the Object returned from getPixels() is always of type byte[], one byte per indice. this may or may not be true, but I did a bunch of testing.

I hadn't dealt with much byte stuff in the past (almost none) so this confused me at first cause I was thinking a byte could only hold values from 0-127. Which is true sorta, you can do byte b = (byte) 255 and the true value will be something like -1 i think, 0 to 127 and then -128 to -1, java does the conversion i guess. ;p So poop on me for not paying attention t my books a long time ago.

and thats that pretty much. Doesn't seem complicated now but at the time I was a little confused. Hope this helps someone.
Pages: [1]
  ignore  |  Print  

hadezbladez (712 views)
2018-11-16 13:46:03

hadezbladez (352 views)
2018-11-16 13:41:33

hadezbladez (697 views)
2018-11-16 13:35:35

hadezbladez (175 views)
2018-11-16 13:32:03

EgonOlsen (2366 views)
2018-06-10 19:43:48

EgonOlsen (2478 views)
2018-06-10 19:43:44

EgonOlsen (1465 views)
2018-06-10 19:43:20

DesertCoockie (2130 views)
2018-05-13 18:23:11

nelsongames (1909 views)
2018-04-24 18:15:36

nelsongames (2575 views)
2018-04-24 18:14:32
Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20

Deployment and Packaging
by philfrei
2018-08-19 23:54:46 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!