def ric_encode(imgbuf, config): img = Image.open(StringIO(imgbuf)) layers = Coder().encode(img, config) wrapped_layers, offsetTable = wrapper.wrapLayers(layers) output = "" output += iso_media.write_box("FTYP", "RIC ") output += iso_media.write_box("ILOT", write_layer_offsets(offsetTable)) output += wrapped_layers return output
def wrapLayer(layer, boxtype, quality, parameters): def writeImageBuffer(): buf = "" for param in parameters: for val in param: buf += iso_media.write_int16(val) output = StringIO() layer.save(output, "WEBP", quality=quality) buf += output.getvalue() output.close() return buf return iso_media.write_box(boxtype, writeImageBuffer())
def testWrite(self): data1 = "\x00\x00\x00\x0bftypbla" output = iso_media.write_box("ftyp", "bla") self.failUnless(output == data1)