animator.skia.Image¶
- class animator.skia.Image¶
Bases:
pybind11_builtins.pybind11_objectImagedescribes a two dimensional array of pixels to draw.A few high-level methods in addition to C++ API:
image = skia.Image.open('/path/to/image.png') image = image.resize(120, 120) image = image.convert(alphaType=skia.kUnpremul_AlphaType) image.save('/path/to/output.jpg', skia.kJPEG)
NumPy arrays can be directly imported or exported:
image = skia.Image.fromarray(array) array = image.toarray()
General pixel buffers can be exchanged in the following approach:
image = skia.Image.frombytes(pixels, (100, 100)) pixels = image.tobytes()
- __init__(*args, **kwargs)¶
Methods
DeferredFromEncodedData(encoded[, alphaType])DeferredFromPicture(picture, dimensions, ...)RasterFromBitmap(bitmap)RasterFromCompressedTextureData(data, width, ...)RasterFromData(info, pixels, rowBytes)RasterFromPixmap(pixmap)RasterFromPixmapCopy(pixmap)__init__(*args, **kwargs)alphaType(self)bitmap(self, colorType, alphaType, colorSpace)bounds(self)colorSpace(self)colorType(self)dimensions(self)encodeToData(self, encodedImageFormat, quality)fromarray(array, ct, at, cs, copy)Creates a new
Imagefrom numpy array.frombytes(buffer, dimensions, ct, at, cs, copy)Creates a new
Imagefrom bytes.hasMipmaps(self)height(self)imageInfo(self)isAlphaOnly(self)isLazyGenerated(self)isOpaque(self)isValid(self)Returns
TrueifImagecan be drawn on raster surface.makeColorSpace(self, target)Creates
Imagein target colorspace.makeColorTypeAndColorSpace(self, ...)Creates
Imagein targetColorType and targetColorSpace.makeNonTextureImage(self)makeRasterImage(self, cachingHint)makeRawShader(self, tmx, tmy, sampling, ...)makeShader(self, tmx, tmy, sampling, localMatrix)makeSubset(self, subset)Returns subset of
Imagewith subset bounds.makeWithFilter(self, filter[, subset, ...])Creates filtered
Imageand returns(filteredImage, outSubset, offset).open(fp)Opens an image from a file like object or a path.
peekPixels(self)Returns a
Pixmapdescribing the pixel data.readPixels(*args, **kwargs)Overloaded function.
refColorSpace(self)refEncodedData(self)reinterpretColorSpace(self, newColorSpace)resize(self, width, height, sampling, ...)Creates a new
Imageby scaling pixels to fit width and height.save(self, fp, encodedImageFormat, quality)Saves the image to a file like object or a path.
scalePixels(self, dst, sampling, cachingHint)toarray(self, srcX, srcY, ct, at, cs)Returns a
ndarrayof the image's pixels.tobytes(self)Returns python
bytesobject from internal pixels.uniqueID(self)width(self)withDefaultMipmaps(self)- class CachingHint¶
Bases:
pybind11_builtins.pybind11_objectMembers:
kAllow_CachingHint
kDisallow_CachingHint
- property name¶
- static DeferredFromEncodedData(encoded: animator.skia.Data, alphaType: Optional[animator.skia.AlphaType] = None) animator.skia.Image¶
- static DeferredFromPicture(picture: animator.skia.Picture, dimensions: animator.skia.ISize, matrix: animator.skia.Matrix = None, paint: animator.skia.Paint = None, bitDepth: animator.skia.Image.BitDepth = <BitDepth.kU8: 0>, colorSpace: animator.skia.ColorSpace = None, props: animator.skia.SurfaceProps = <animator.skia.SurfaceProps object at 0x7f2050114a70>) animator.skia.Image¶
- static RasterFromBitmap(bitmap: SkBitmap) animator.skia.Image¶
- static RasterFromCompressedTextureData(data: animator.skia.Data, width: int, height: int, type: animator.skia.Image.TextureCompressionType) animator.skia.Image¶
- static RasterFromData(info: animator.skia.ImageInfo, pixels: animator.skia.Data, rowBytes: int) animator.skia.Image¶
- static RasterFromPixmap(pixmap: animator.skia.Pixmap) animator.skia.Image¶
- static RasterFromPixmapCopy(pixmap: animator.skia.Pixmap) animator.skia.Image¶
- class TextureCompressionType¶
Bases:
pybind11_builtins.pybind11_objectMembers:
kNone
kETC2_RGB8_UNORM
kBC1_RGB8_UNORM
kBC1_RGBA8_UNORM
kLast
kETC1_RGB8
- property name¶
- alphaType(self: animator.skia.Image) animator.skia.AlphaType¶
- bitmap(self: animator.skia.Image, colorType: animator.skia.ColorType = <ColorType.kUnknown_ColorType: 0>, alphaType: animator.skia.AlphaType = <AlphaType.kUnknown_AlphaType: 0>, colorSpace: animator.skia.ColorSpace = None) SkBitmap¶
- bounds(self: animator.skia.Image) animator.skia.IRect¶
- colorSpace(self: animator.skia.Image) animator.skia.ColorSpace¶
- colorType(self: animator.skia.Image) animator.skia.ColorType¶
- dimensions(self: animator.skia.Image) animator.skia.ISize¶
- encodeToData(self: animator.skia.Image, encodedImageFormat: animator.skia.EncodedImageFormat = <EncodedImageFormat.kPNG: 4>, quality: int = 100) animator.skia.Data¶
- static fromarray(array: numpy.ndarray, ct: animator.skia.ColorType = <ColorType.kRGBA_8888_ColorType: 4>, at: animator.skia.AlphaType = <AlphaType.kUnpremul_AlphaType: 3>, cs: animator.skia.ColorSpace = None, copy: bool = True) animator.skia.Image¶
Creates a new
Imagefrom numpy array.- Parameters
array – A numpy array of shape
(height, width, channels)and appropriate dtype.ct – The color type of the image.
at – The alpha type of the image.
cs – The color space of the image.
copy – Whether to copy the data from the array.
- Returns
A new
Imagesharing the data in the array if copy isFalse, or a newImagewith a copy of the data if copy isTrue.
- static frombytes(buffer: buffer, dimensions: animator.skia.ISize, ct: animator.skia.ColorType = <ColorType.kRGBA_8888_ColorType: 4>, at: animator.skia.AlphaType = <AlphaType.kUnpremul_AlphaType: 3>, cs: animator.skia.ColorSpace = None, copy: bool = True) animator.skia.Image¶
Creates a new
Imagefrom bytes.- Parameters
buffer – A Python buffer object.
dimensions – The dimensions of the image.
ct – The color type of the image.
at – The alpha type of the image.
cs – The color space of the image.
copy – Whether to copy the data from the buffer.
- Returns
A new
Imagesharing the data in the buffer if copy isFalse, or a newImagewith a copy of the data if copy isTrue.
- hasMipmaps(self: animator.skia.Image) bool¶
- height(self: animator.skia.Image) int¶
- imageInfo(self: animator.skia.Image) animator.skia.ImageInfo¶
- isAlphaOnly(self: animator.skia.Image) bool¶
- isLazyGenerated(self: animator.skia.Image) bool¶
- isOpaque(self: animator.skia.Image) bool¶
- isValid(self: animator.skia.Image) bool¶
Returns
TrueifImagecan be drawn on raster surface.
- makeColorSpace(self: animator.skia.Image, target: animator.skia.ColorSpace) animator.skia.Image¶
Creates
Imagein target colorspace.
- makeColorTypeAndColorSpace(self: animator.skia.Image, targetColorType: animator.skia.ColorType, targetColorSpace: animator.skia.ColorSpace) animator.skia.Image¶
Creates
Imagein targetColorType and targetColorSpace.
- makeNonTextureImage(self: animator.skia.Image) animator.skia.Image¶
- makeRasterImage(self: animator.skia.Image, cachingHint: animator.skia.Image.CachingHint = <CachingHint.kDisallow_CachingHint: 1>) animator.skia.Image¶
- makeRawShader(self: animator.skia.Image, tmx: animator.skia.TileMode = <TileMode.kClamp: 0>, tmy: animator.skia.TileMode = <TileMode.kClamp: 0>, sampling: animator.skia.SamplingOptions = <animator.skia.SamplingOptions object at 0x7f20500d9a30>, localMatrix: animator.skia.Matrix = None) SkShader¶
- makeShader(self: animator.skia.Image, tmx: animator.skia.TileMode = <TileMode.kClamp: 0>, tmy: animator.skia.TileMode = <TileMode.kClamp: 0>, sampling: animator.skia.SamplingOptions = <animator.skia.SamplingOptions object at 0x7f2050107df0>, localMatrix: animator.skia.Matrix = None) SkShader¶
- makeSubset(self: animator.skia.Image, subset: animator.skia.IRect) animator.skia.Image¶
Returns subset of
Imagewith subset bounds.
- makeWithFilter(self: animator.skia.Image, filter: SkImageFilter, subset: animator.skia.IRect = None, clipBounds: animator.skia.IRect = None) tuple¶
Creates filtered
Imageand returns(filteredImage, outSubset, offset).
- static open(fp: object) animator.skia.Image¶
Opens an image from a file like object or a path.
- peekPixels(self: animator.skia.Image) animator.skia.Pixmap¶
Returns a
Pixmapdescribing the pixel data.
- readPixels(*args, **kwargs)¶
Overloaded function.
readPixels(self: animator.skia.Image, dstInfo: animator.skia.ImageInfo, dstPixels: buffer, dstRowBytes: int = 0, srcX: int = 0, srcY: int = 0, cachingHint: animator.skia.Image.CachingHint = <CachingHint.kAllow_CachingHint: 0>) -> bool
Copies dstInfo pixels starting from (srcX, srcY) to dstPixels buffer.
readPixels(self: animator.skia.Image, dst: animator.skia.Pixmap, srcX: int = 0, srcY: int = 0, cachingHint: animator.skia.Image.CachingHint = <CachingHint.kAllow_CachingHint: 0>) -> bool
Copies pixels starting from (srcX, srcY) to dst
Pixmap.
- refColorSpace(self: animator.skia.Image) animator.skia.ColorSpace¶
- refEncodedData(self: animator.skia.Image) animator.skia.Data¶
- reinterpretColorSpace(self: animator.skia.Image, newColorSpace: animator.skia.ColorSpace) animator.skia.Image¶
- resize(self: animator.skia.Image, width: int, height: int, sampling: animator.skia.SamplingOptions = <animator.skia.SamplingOptions object at 0x7f20529a8330>, cachingHint: animator.skia.Image.CachingHint = <CachingHint.kAllow_CachingHint: 0>) animator.skia.Image¶
Creates a new
Imageby scaling pixels to fit width and height.
- save(self: animator.skia.Image, fp: object, encodedImageFormat: animator.skia.EncodedImageFormat = <EncodedImageFormat.kPNG: 4>, quality: int = 100) None¶
Saves the image to a file like object or a path.
- Parameters
fp – A file like object or a path.
format – The format of the image. Should be one of
EncodedImageFormat.kJPEG,EncodedImageFormat.kPNG,EncodedImageFormat.kWEBP.quality – The quality of the image. 100 is the best quality.
- scalePixels(self: animator.skia.Image, dst: animator.skia.Pixmap, sampling: animator.skia.SamplingOptions = <animator.skia.SamplingOptions object at 0x7f20529b96b0>, cachingHint: animator.skia.Image.CachingHint = <CachingHint.kAllow_CachingHint: 0>) bool¶
- toarray(self: animator.skia.Image, srcX: int = 0, srcY: int = 0, ct: animator.skia.ColorType = <ColorType.kRGBA_8888_ColorType: 4>, at: animator.skia.AlphaType = <AlphaType.kUnpremul_AlphaType: 3>, cs: animator.skia.ColorSpace = None) numpy.ndarray¶
Returns a
ndarrayof the image’s pixels.
- tobytes(self: animator.skia.Image) bytes¶
Returns python
bytesobject from internal pixels.
- uniqueID(self: animator.skia.Image) int¶
- width(self: animator.skia.Image) int¶
- withDefaultMipmaps(self: animator.skia.Image) animator.skia.Image¶