I need to mass-produce PNG chart images in high resolution - i.e., PPI at 2x-4x multiple of the default 72 value
What did you expect to see?
A new encoding method and/or an Options field to customize the PPI of the image being encoded. Similarly, extending the image.Config struct to be able to retrieve the PPI of a decoded image.
What did you see instead?
No method found.
I wrote a patch with the missing code. However the public API design needs to be discussed first as a "clean" API - i.e., adding an Options field to the Encode function to perfectly mirror the design of image/jpeg - is unfeasible as it would break the Go 1 compatibility
The text was updated successfully, but these errors were encountered:
Add EncodeOptions(w io.Writer, m image.Image, **o Options**) error
which would perform the same encoding as Encode(...), plus encode the PPI into the PNG file
Modify the Decode(...) function so that it also returns the PPI into the image.Config result
(2) In image:
Extend the image.Config struct with a new field: PPI int
What would be left out of my patch is the corresponding PPI support in the image/jpeg library (my project only uses the image/png library). image/gif requires no patches as GIFs do not support PPI.
Specifically, the type should probably be called EncodeOptions, to allow us to to define a DecodeOptions at some point (e.g. to specify a destination buffer). That would mean renaming the function to something else, possibly EncodeImage.
Generally, though, PPI is just one example of image metadata, such as EXIF fields (e.g. #4341). There's a discussion of image metadata at #5050, but there's no concrete API proposal yet. I'd rather solve the general problem than specifically adding a PPI mechanism.