So if you happen to want to look at the images inside the iPhone, that is the bunch of PNGs no image viewer will shake a stick at, now you can. Just download my bit of code from svn://svn.poop.nl/pub/iphone-fixpng. Tested on OSX/Intel. There are instances where it will break, though you shouldn’t run into those with images from the iPhone.
You’ll have to compile it yourself. Install libpng into /usr/local and type ‘make’ in a shell.
Convert the PNGs into readable files by running fixpng input.png output.png. Then if you feel so inclined to make them pretty, you can flip the R and B channels around by running something along the lines of flipchannels input.png output.png.
Update: Also tested using a PowerPC Mac, so the Makefile in svn compiles to Universal Binaries now.
svn.poop.nl seems to be down. Is there a tarball somewhere else?
It’s up, but I’ve stuck a tarball here anyway: http://www.cyberhq.nl/files/iphone-fixpng.tgz
Can you publish the binary file?
http://www.cyberhq.nl/files/iphone-fixpng-bin.tgz
However, I can not guarantee that they will work as they require a library that does not come with MacOS X. Also they’re PowerPC-only as I currently can’t generate Tiger binaries for intel. You might need to install this package, specifically the libpng one. Libjpeg is not needed.
Now…. wonder if I / you can modify this to reverse the process
Probably. The question is: is it necessary to do that?
That is, the fixpng part of it. The flipchannels part is reversible already and that would indeed be necessary.
When I try to run ./fixpng I get this error:
dyld: lazy symbol binding failed: Symbol not found: __NSSetProgramVars
Referenced from: /Users/danmarshall/Desktop/iPhone/iphone-fixpng/./fixpng
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: __NSSetProgramVars
Referenced from: /Users/danmarshall/Desktop/iPhone/iphone-fixpng/./fixpng
Expected in: /usr/lib/libSystem.B.dylib
Trace/BPT trap
I already ran make, and I got no errors. I have zlib (obviously, since it comes with OS X) and libpng installed. I am running 10.4.10
Any ideas? Please email me brutalentropy at gmail dot com. Thanks!
No idea, sorry :/ Did you try the binary version? (Don’t forget the libpng).
Can you post the source code? I am looking to make one for windows…thanks!
Um, I did post the source code.
I cannot access the site svn://svn.poop.nl/pub/iphone-pngfix. I do not have any application that uses this type of protocol.
Download a Subversion client from http://subversion.tigris.org/ or look at the second comment here.
[…] custom PNG format for the bitmap resources of its applications. You can use the commandline utility fixpng, made by my fellow Dutchman Marco. Surprisingly, you won’t have to modify your own PNG […]
Hi guys, I’ve coded a python script to normalize PNG files downloaded from the iPhone and iPod touch. As it’s python, it’s multiplatform, and it works for Windows users too.
Here is the code:
http://www.axelbrz.com.ar/?mod=iphone-png-images-normalizer
Enjoy!
Axel
Morgan Leborgne has compiled my code to run on Windows. This may be gotten (at your own risk, of course) here: http://morgan.leborgne.free.fr/Pub/iPhonePng.zip
Marco, big thanks for your link, it works perfectly for me.
I used Axels code and modifiy and puted on my website. You can now make online png conversion here: http.//zope.release78.org/beta2/iconvert/
wrong link: http://zope.release78.org/beta2/iconvert/
I just use the python code ,work perfectly…
thx for source, it’s really useful. one strange thing: if u take stock wi-fi signal bars from the iphone, only fixpng and flipchannel them then upload back, the bars will differ (u can see the difference on FSO image on lightgray background good)…
That’s probably because it might be expecting alpha premultiplied images. My tools just convert from weird pngs to readable normal pngs, but don’t do anything with the alpha channel.
Thanks a lot!!
it works on my PPC and resolved the problem of the
Bad CPU type error of FixPngDroplet
Any ideas why this doesn’t work on the large texture atlas PNGs in many IPAs now a days? Example… PocketGod.
Likely it exceeds the buffer size. Send me one of the png? (e-mail via ‘contact’ link on front page)
Great work! Thanks!
[…] To check this icon out for yourself, you can browse through your iPhone files using sftp (on a jailbroken iPhone) or iBrowser (for iPhones with the developer deployment). The EDGE and GPRS icons live in /System/Library/CoreServices/SpringBoard.app and are named FSO_EDGE_ON.png and FSO_GPRS_ON.png. You’ll need to convert the compressed iPhone-style png images to Mac compatible ones using a utility like fixpng. […]
[…] To check this icon out for yourself, you can browse through your iPhone files using sftp (on a jailbroken iPhone) or iBrowser (for iPhones with the developer deployment). The EDGE and GPRS icons live in /System/Library/CoreServices/SpringBoard.app and are named FSO_EDGE_ON.png and FSO_GPRS_ON.png. You’ll need to convert the compressed iPhone-style png images to Mac compatible ones using a utility like fixpng. […]
[…] To check this icon out for yourself, you can browse through your iPhone files using sftp (on a jailbroken iPhone) or iBrowser (for iPhones with the developer deployment). The EDGE and GPRS icons live in /System/Library/CoreServices/SpringBoard.app and are named FSO_EDGE_ON.png and FSO_GPRS_ON.png. You’ll need to convert the compressed iPhone-style png images to Mac compatible ones using a utility like fixpng. […]
[…] To check this icon out for yourself, you can browse through your iPhone files using sftp (on a jailbroken iPhone) or iBrowser (for iPhones with the developer deployment). The EDGE and GPRS icons live in /System/Library/CoreServices/SpringBoard.app and are named FSO_EDGE_ON.png and FSO_GPRS_ON.png. You’ll need to convert the compressed iPhone-style png images to Mac compatible ones using a utility like fixpng. […]
[…] To check this icon out for yourself, you can browse through your iPhone files using sftp (on a jailbroken iPhone) or iBrowser (for iPhones with the developer deployment). The EDGE and GPRS icons live in /System/Library/CoreServices/SpringBoard.app and are named FSO_EDGE_ON.png and FSO_GPRS_ON.png. You’ll need to convert the compressed iPhone-style png images to Mac compatible ones using a utility like fixpng. […]
[…] To check this icon out for yourself, you can browse through your iPhone files using sftp (on a jailbroken iPhone) or iBrowser (for iPhones with the developer deployment). The EDGE and GPRS icons live in /System/Library/CoreServices/SpringBoard.app and are named FSO_EDGE_ON.png and FSO_GPRS_ON.png. You’ll need to convert the compressed iPhone-style png images to Mac compatible ones using a utility like fixpng. […]
… I could not find the link: svn://svn.poop.nl/pub/iphone-pngfix
That’s because the link is wrong, which I only found out just now(!). It’s here:
svn://svn.poop.nl/pub/iphone-fixpng (And note, this is subversion, not a website.)
Cant download your code from subversion without username and PW
[…] with apple’s weird proprietary format. That won’t work, so you need to fix it. Go here and download the link in the 2nd […]