]> Cypherpunks repositories - gostls13.git/commitdiff
Documentation for png.Decode and png.Encode.
authorNigel Tao <nigeltao@golang.org>
Wed, 14 Oct 2009 00:14:49 +0000 (17:14 -0700)
committerNigel Tao <nigeltao@golang.org>
Wed, 14 Oct 2009 00:14:49 +0000 (17:14 -0700)
R=r,rsc
APPROVED=r
DELTA=7  (5 added, 0 deleted, 2 changed)
OCL=35651
CL=35692

src/pkg/image/png/reader.go
src/pkg/image/png/writer.go

index 86240cd54b3faba978875361572dc4360ae2decf..12c59e49c19c24b414b594504aebc6291e7c2d29 100644 (file)
@@ -412,6 +412,8 @@ func (d *decoder) checkHeader(r io.Reader) os.Error {
        return nil;
 }
 
+// Decode reads a PNG formatted image from r and returns it as an image.Image.
+// The type of Image returned depends on the PNG contents.
 func Decode(r io.Reader) (image.Image, os.Error) {
        var d decoder;
        err := d.checkHeader(r);
index 2526fb3718dc46910f774056d94a4e022fff4f82..ce6c3f3d0e442040adcd6f124fcaf5314a805326 100644 (file)
@@ -316,9 +316,12 @@ func (e *encoder) writeIEND() {
        e.writeChunk(e.tmp[0:0], "IEND");
 }
 
+// Encode writes the Image m to w in PNG format. Any Image may be encoded, but
+// images that are not image.NRGBA might be encoded lossily.
 func Encode(w io.Writer, m image.Image) os.Error {
-       // Obviously, negative widths and heights are invalid. Furthermore,
-       // the PNG spec section 11.2.2 says that zero is an invalid dimension.
+       // Obviously, negative widths and heights are invalid. Furthermore, the PNG
+       // spec section 11.2.2 says that zero is invalid. Excessively large images are
+       // also rejected.
        mw, mh := int64(m.Width()), int64(m.Height());
        if mw <= 0 || mh <= 0 || mw >= 1<<32 || mh >= 1<<32 {
                return FormatError("invalid image size: " + strconv.Itoa64(mw) + "x" + strconv.Itoa64(mw));