Mozilla2:Image Encoding

From MozillaWiki
Revision as of 02:33, 8 March 2005 by Pavlov (talk | contribs)
Jump to navigation Jump to search

Interface

We need to add a new interface. When you read from the stream should we encode just that much? Thoughts?

Something like:

interface imgIEncoder : nsISupports
{
  /* input image data
   * result width
   * result height
   */
  nsIInputStream encode(in imgIContainer input, in unsigned long width, in unsigned long height);
};

encode() method

Should we put width/height on the encode method?

Scaling

Do we want to support different types of scaling? I'd prefer to just do nice Bicubic resampling. [1] [2]

Brendan's comments

A reader should get the bytes requested, if not greater than length of encoded image, and it's up to the encoder to buffer more if it encodes more bytes, reading from the buffer on next read.

Use

You would create one by doing:

createInstance("@mozilla.org/image/encoder;2?type=image/png");