Java-Gaming.org Hi !
Featured games (81)
games approved by the League of Dukes
Games in Showcase (513)
Games in Android Showcase (119)
games submitted by our members
Games in WIP (576)
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 966 times)
0 Members and 1 Guest are viewing this topic.
Offline bedelf

Junior Duke




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 Knight


Medals: 13


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

Make Elite IV:Dangerous happen! Pledge your backing at KICKSTARTER here! https://dl.dropbox.com/u/54785909/EliteIVsmaller.png
Offline bedelf

Junior Duke




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  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Longarmx (39 views)
2014-10-17 03:59:02

Norakomi (30 views)
2014-10-16 15:22:06

Norakomi (24 views)
2014-10-16 15:20:20

lcass (28 views)
2014-10-15 16:18:58

TehJavaDev (57 views)
2014-10-14 00:39:48

TehJavaDev (58 views)
2014-10-14 00:35:47

TehJavaDev (48 views)
2014-10-14 00:32:37

BurntPizza (64 views)
2014-10-11 23:24:42

BurntPizza (36 views)
2014-10-11 23:10:45

BurntPizza (78 views)
2014-10-11 22:30:10
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org 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‑gaming.org
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!