code: func (e *encoder) writeIDATs() {
  	if e.err != nil {
  		return
  	}
  	if e.bw == nil {
  		e.bw = bufio.NewWriterSize(e, 1<<15)
  	} else {
  		e.bw.Reset(e)
  	}
  	e.err = e.writeImage(e.bw, e.m, e.cb, levelToZlib(e.enc.CompressionLevel))
  	if e.err != nil {
  		return
  	}
  	e.err = e.bw.Flush()
  }
docs: // Write the actual image data to one or more IDAT chunks.