Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a PNG-24 file with transparent background and its current size is 1.5 MB. How to reduce size or use PNG-8 file format and keep same quality ? enter image description here

PNG file fro here: http://www19.zippyshare.com/v/69590430/file.html

Example Image uploaded I tried all suggestions but no good results please advise

thanks

share|improve this question
    
Are you using Save For Web...? It should give you options for reducing the size, including color depth. –  James Jul 4 '12 at 16:02
    
You example image is a JPEG file. If you want people to try different tools/methods on it, you should provide one of you PNG file instead...! –  Laurent Parenteau Jul 4 '12 at 23:51
    
site uploader converted it to jpg. here is the png file s8.postimage.org/z4apal6z9/cw_Copy.png .....please dont use posterize as it wont work with other files I have.....thanks –  Welliam Jul 5 '12 at 11:59
1  
That link is also a JPEG. –  Dan D. Jul 5 '12 at 12:03
    
this time I am sure it is png www19.zippyshare.com/v/69590430/file.html.......thanks for your help –  Welliam Jul 5 '12 at 14:12
add comment

5 Answers

up vote 4 down vote accepted

PNG is a lossless compression format -- without changing the source material in the file, there's very little way to increase compression beyond the default highest level compression. The only real way to reduce the size will be to change the image, either by reducing resolution, or colour depth so that the PNG compression has less complexity to work with.

If you want high levels of compression for the image and don't care about lossless data storage, use JPEG.

share|improve this answer
    
I wouldn't say little. Photoshop's Save For Web is so poor that PNGOUT can often losslessly reduce files by 20-40%. And Photoshop doesn't support PNG8+alpha which can be 70% smaller for some images. –  porneL Mar 3 '13 at 23:47
    
The best numbers I've ever seen proven were around 8-15% but feel free to link me to better data. –  mikebabcock Mar 6 '13 at 1:18
add comment

If you don't mind the command line, take a look at OptiPNG, it might be what you're after.

OptiPNG is a PNG optimizer that recompresses image files to a smaller size, without losing any information. This program also converts external formats (BMP, GIF, PNM and TIFF) to optimized PNG, and performs PNG integrity checks and corrections.

share|improve this answer
    
Thanks but failed not much optimization !! I uploaded the image –  Welliam Jul 4 '12 at 21:14
add comment

RIOT can do that, and a lot more.

Radical Image Optimization Tool (RIOT for short) is a free image optimizer that will let you to visually adjust compression parameters while keeping minimum file size.

It uses with a side by side (dual view) or single view interface to compare the original with the optimized image in real time and instantly see the resulting file size.

The image optimizer is lightweight, fast and simple to use, yet powerful for advanced users. You will be able to control compression, number of colours, meta data settings and much more, and select image format (JPEG, GIF or PNG) for your output file.

Another possibility is to use a combination of pngquant, pngout, and pngcrush, as described here, but this is from the command line.

Here are the instructions how to convert png24 images into png8 for ie6 goodness, all through the command line using open source tools (i think) pngquant +pngout + pngcrush.

1- quantize image into 256 (so basically png8′s look crap with large sprites or sprites with a large colour range).

pngquant 256 some_24_bit.png

2- convert image form a png24 to a png8

pngout -c3 -d8 -y -force some_24_bit.png some_8_bit.png

3- compress image

pngcrush some_8_bit.png -bit_depth 8 -brute -rem alla -reduce some_8_bit_small.png

share|improve this answer
    
thanks tried and only few kb reduced !! –  Welliam Jul 4 '12 at 21:14
add comment

Use combination of pngout and deflopt. pngout will automatically determine if your PNG colors fit in PNG-8 and use it. deflopt will squeeze out some extra bytes from already optimized image - it is utility to work with any deflated data and PNG is one of those.

share|improve this answer
    
thanks but pngout failed reduced few kb only !! –  Welliam Jul 4 '12 at 21:13
1  
Did you expect magic? Your image clearly have more than 256 colors. Posterize it to reduce amount of colors first. –  Oleg V. Volkov Jul 4 '12 at 21:44
    
When size reduced from 970 to 945 this is not good results also posterize does not work with other PNGs I have. –  Welliam Jul 4 '12 at 22:41
add comment

A nice idea for handling PNG with alpha channel in the context of website development would be to let the server do the trick for you: dynamically separate the image data from the alpha channel on the server, optimize both of them separately and recombine them using the canvas element and some JavaScript in the browser. Ta-Da! Works with all modern browsers.

Here is explained how it’s done:

http://headers-already-sent.com/artikel/shrinkimage-1/

You’ll also find a complete ZIP package with the PHP script and a jQuery plugin. Let us know what you think about this.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.