def write_packed(self, outfile, rows):
        """
        Write PNG file to `outfile`.

        The pixel data comes from `rows` which should be in boxed row
        packed format.  Each row should be a sequence of packed bytes.

        Technically, this method does work for interlaced images but it
        is best avoided.  For interlaced images, the rows should be
        presented in the order that they appear in the file.

        This method should not be used when the source image bit depth
        is not one naturally supported by PNG; the bit depth should be
        1, 2, 4, 8, or 16.
        """
        return self.write_passes(outfile, rows, packed=True)
Write PNG file to `outfile`.

        The pixel data comes from `rows` which should be in boxed row
        packed format.  Each row should be a sequence of packed bytes.

        Technically, this method does work for interlaced images but it
        is best avoided.  For interlaced images, the rows should be
        presented in the order that they appear in the file.

        This method should not be used when the source image bit depth
        is not one naturally supported by PNG; the bit depth should be
        1, 2, 4, 8, or 16.