[ 
https://issues.apache.org/jira/browse/IMAGING-330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bruno P. Kinoshita updated IMAGING-330:
---------------------------------------
    Affects Version/s: 1.0-alpha2

> Implement PNG predictors to reduce output size
> ----------------------------------------------
>
>                 Key: IMAGING-330
>                 URL: https://issues.apache.org/jira/browse/IMAGING-330
>             Project: Commons Imaging
>          Issue Type: Improvement
>          Components: Format: PNG
>    Affects Versions: 1.0-alpha2
>            Reporter: Gary Lucas
>            Assignee: Bruno P. Kinoshita
>            Priority: Major
>
> I propose to enhance the PngWriter class and PngImagingParameters class to 
> allow the use of predictors. This change should reduce the size of output 
> images written in PNG format. The resulting images will carry exactly the 
> same data. There will be no loss of pixels or image quality. But the results 
> will be smaller than those currently produced by either Imaging or Java's 
> ImageIO class.
> Background 
> The PNG specification permits the use of optional predictors as part of its 
> data compression logic. Predictors are applied through the use of a filter 
> that transforms the data before it is passed to the conventional Deflate data 
> compressor.  In some cases, predictors can result in a 30 percent reduction 
> of file size. They are particularly suited to photographic images. Although 
> they will work on graphics and line art, the reduction is often more modest.
> You can find a description of predictors on 
> [Wikipedia|https://en.wikipedia.org/wiki/Portable_Network_Graphics#Filtering]
> The Java ImageIO class does not apply predictors as part of its processing.  
> Consequently, if you write an image from a Java application using ImageIO, 
> pull the image into Paint, and then save it under another name, the size of 
> the image may actually decrease.  So when this feature is added to Commons 
> Imaging, it will out perform ImageIO when writing PNGs.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to