optTile.py 文件源码

python
阅读 38 收藏 0 点赞 0 评论 0

项目:gsTiles 作者: schmidtc 项目源码 文件源码
def __call__(self):
        plte = self.plte
        a = self.idRaster
        #a = array('B') #unsigned 1byte int
        #a.fromlist(idRaster)
        ### Why is this here? byteswap has no effect on 'uint8'
        #if SYSTEM_BYTEORDER == '\x00': #little
        #    a.byteswap() #to big (network)

        # This is used directly in the final PNG, must be zlib.
        cIdRaster = zlib.compress(numpy.getbuffer(a))
        size = pack('!I',len(cIdRaster))
        crc = pack('!I',crc32('IDAT'+cIdRaster) & 0xFFFFFFFF)
        idat = size+'IDAT'+cIdRaster+crc

        #b = array(UNSIGNED_ITEM_TYPES[4]) #unsigned 4byte int
        #b.fromlist(plte)
        #cPLTE = zlib.compress(plte.tostring())
        cPLTE = zlib.compress(numpy.getbuffer(plte))

        s = SYSTEM_BYTEORDER + pack('!LL',len(idat),len(cPLTE)) # 9bytes <--- ByteOrder(1byte), len of idat(4bytes), len of cPLTE(4bytes)
        s = s+idat+cPLTE
        return s
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号