def YUVtoRGB(image): """ Convert the given WebP image instance from a YUV format to an RGB format :param image: The WebP image in YUV format :type image: BitmapHandler :rtype: BitmapHandler """ return BitmapHandler(_decode_YUV_image(image), BitmapHandler.RGB, image.width, image.height, image.width * 3)
def YUVtoBGR(image): """ Convert the given WebP image instance form YUV format to BGR format :param image: The WebP image in YUV format :type image: BitmapHandler :rtype: BitmapHandler """ rgb_bitmap = _decode_YUV_image(image) bgr_bitmap = bytearray() for i in xrange(len(rgb_bitmap) / 3): i *= 3 bgr_bitmap.append(rgb_bitmap[i + 2]) bgr_bitmap.append(rgb_bitmap[i + 1]) bgr_bitmap.append(rgb_bitmap[i]) # Return the BitmapHandler in BGR format return BitmapHandler(bgr_bitmap, BitmapHandler.BGR, image.width, image.height, image.width * 3)
def YUVtoRGBA(image): """ Convert the given WebP image instance form YUV format to RGBA format :param image: The WebP image in YUV format :type image: BitmapHandler :rtype: BitmapHandler """ rgb_bitmap = _decode_YUV_image(image) rgba_bitmap = bytearray() for i in xrange(len(rgb_bitmap) / 3): i *= 3 rgba_bitmap.append(rgb_bitmap[i]) rgba_bitmap.append(rgb_bitmap[i + 1]) rgba_bitmap.append(rgb_bitmap[i + 2]) rgba_bitmap.append(0xff) # Return the BitmapHandler in RGB format return BitmapHandler(rgba_bitmap, BitmapHandler.RGBA, image.width, image.height, image.width * 4)