Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (623)
Games in Android Showcase (176)
games submitted by our members
Games in WIP (676)
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  
  Couldn't read Pixmap from PNG file / incorrect header check?  (Read 1308 times)
0 Members and 1 Guest are viewing this topic.
Offline heisenbergman

JGO Coder

Medals: 14

L___ o_ G___ a__ P___

« Posted 2013-06-22 04:46:02 »

This has been frustrating me for the past hour... Cranky I'm simply trying to read a PNG file into a Pixmap object:

   void buildLevel(String mapFile){
      Pixmap pm = PixmapIO.readCIM(Gdx.files.internal("data/"+mapFile));
   // other stuff

But I get the following error:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Couldn't read Pixmap from file 'data/level1.png'
   at com.badlogic.gdx.Game.render(
   at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(
   at com.badlogic.gdx.backends.lwjgl.LwjglApplication$
Caused by: incorrect header check
   at Source)
   at Source)
   at Source)
   ... 7 more

I created the png file with GraphicsGale. I even ran pngcrush on it with the -new option to try and clean any formatting stuff that might be messing up the file i/o... but to no avail. Any idea how to solve this?

Offline Stranger

Senior Devvie

Medals: 9
Exp: 9 years

I'm going slightly mad. It finally happened.

« Reply #1 - Posted 2013-06-22 10:52:18 »

This can help as a hint:

Offline heisenbergman

JGO Coder

Medals: 14

L___ o_ G___ a__ P___

« Reply #2 - Posted 2013-06-22 12:25:40 »

Actually, instead of using PixmapIO, I just did:

Pixmap pm = new Pixmap(Gdx.files.internal("data/"+mapFile));

But even then, I'm curious why the initial approach resulted in that error.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline davedes
« Reply #3 - Posted 2013-06-22 14:00:50 »

CIM is a custom format for LibGDX. It's quicker and uses less working memory to read/write images; but is only really useful if the images don't need to be viewed outside of your LibGDX game.

The readCIM method only reads ".cim" files (created by PixmapIO.writeCIM). If you want to read PNG, you need to use the Pixmap constructor like in your latest post.

You can learn more about textures and pixmaps here:

Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

BurntPizza (3 views)
2015-10-07 02:11:23

KaiHH (12 views)
2015-10-06 20:22:20

KaiHH (11 views)
2015-10-06 19:41:59

BurntPizza (23 views)
2015-10-06 19:04:48

basil_ (44 views)
2015-09-30 17:04:40

shadowstryker (22 views)
2015-09-29 15:55:06

TheSpaceHedgehog (28 views)
2015-09-29 01:58:48

GamerC4 (54 views)
2015-09-24 21:10:38

GamerC4 (71 views)
2015-09-24 21:09:48

htuy (28 views)
2015-09-24 04:57:24
Math: Inequality properties
by Roquen
2015-10-01 13:30:46

Math: Inequality properties
by Roquen
2015-09-30 16:06:05

HotSpot Options
by Roquen
2015-08-29 11:33:11

Rendering resources
by Roquen
2015-08-17 12:42:29

Rendering resources
by Roquen
2015-08-17 09:36:56

Rendering resources
by Roquen
2015-08-13 07:40:51

Networking Resources
by Roquen
2015-08-13 07:40:43

List of Learning Resources
by gouessej
2015-07-09 11:29:36 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!