<ahref="#Pixmap">Pixmap</a> provides a utility to pair <ahref="undocumented#SkImageInfo">SkImageInfo</a> with pixels and row bytes.
<ahref="#Pixmap">Pixmap</a> is a low level class which provides convenience functions to access
raster destinations. <ahref="SkCanvas_Reference#Canvas">Canvas</a> can not draw <ahref="#Pixmap">Pixmap</a>, nor does <ahref="#Pixmap">Pixmap</a> provide
Use <ahref="SkBitmap_Reference#Bitmap">Bitmap</a> to draw pixels referenced by <ahref="#Pixmap">Pixmap</a>; use <ahref="undocumented#Surface">Surface</a> to draw into
Creates an empty <ahref="#Pixmap">Pixmap</a> without pixels, with <ahref="undocumented#SkColorType">kUnknown SkColorType</a>, with
<ahref="undocumented#SkAlphaType">kUnknown SkAlphaType</a>, and with a <ahref="#SkPixmap_width">width</a> and <ahref="#SkPixmap_height">height</a> of zero. Use
<ahref="#SkPixmap_reset">reset</a> to associate pixels, <ahref="undocumented#SkColorType">SkColorType</a>, <ahref="undocumented#SkAlphaType">SkAlphaType</a>, <ahref="#SkPixmap_width">width</a>, and <ahref="#SkPixmap_height">height</a>
after <ahref="#Pixmap">Pixmap</a> has been created.
Creates <ahref="#Pixmap">Pixmap</a> from <ahref="#SkPixmap_info">info</a><ahref="#SkPixmap_width">width</a>, <ahref="#SkPixmap_height">height</a>, <ahref="undocumented#SkAlphaType">SkAlphaType</a>, and <ahref="undocumented#SkColorType">SkColorType</a>.
<ahref="#SkPixmap_addr">addr</a> points to pixels, or nullptr. <ahref="#SkPixmap_rowBytes">rowBytes</a> should be <ahref="#SkPixmap_info">info</a>.<ahref="#SkPixmap_width">width</a> times
<ahref="#SkPixmap_info">info</a>.bytesPerPixel(), or larger.
size of one row of <ahref="#SkPixmap_addr">addr</a>; <ahref="#SkPixmap_width">width</a> times pixel size, or larger</td>
</tr>
</table>
### Return Value
initialized <ahref="#Pixmap">Pixmap</a>
### Example
<div><fiddle-embedname="9a00774be57d7308313b3a9073e6e696"><div><ahref="#SkImage_MakeRasterCopy">SkImage::MakeRasterCopy</a> takes const <ahref="#SkPixmap">SkPixmap</a>& as an argument. The example
constructs a <ahref="#SkPixmap">SkPixmap</a> from the brace-delimited parameters.</div>
Sets <ahref="#SkPixmap_width">width</a>, <ahref="#SkPixmap_height">height</a>, row bytes to zero; pixel address to nullptr; <ahref="undocumented#SkColorType">SkColorType</a> to
<ahref="undocumented#SkColorType">kUnknown SkColorType</a>; and <ahref="undocumented#SkAlphaType">SkAlphaType</a> to <ahref="undocumented#SkAlphaType">kUnknown SkAlphaType</a>.
The prior pixels are unaffected; it is up to the caller to release pixels
Sets <ahref="#SkPixmap_width">width</a>, <ahref="#SkPixmap_height">height</a>, <ahref="undocumented#SkAlphaType">SkAlphaType</a>, and <ahref="undocumented#SkColorType">SkColorType</a> from <ahref="#SkPixmap_info">info</a>.
Sets pixel address from <ahref="#SkPixmap_addr">addr</a>, which may be nullptr.
Sets row bytes from <ahref="#SkPixmap_rowBytes">rowBytes</a>, which should be <ahref="#SkPixmap_info">info</a>.<ahref="#SkPixmap_width">width</a> times
<ahref="#SkPixmap_info">info</a>.bytesPerPixel(), or larger.
Does not check <ahref="#SkPixmap_addr">addr</a>. Asserts if built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined and if <ahref="#SkPixmap_rowBytes">rowBytes</a> is
too small to hold one row of pixels.
The memory lifetime pixels are managed by the caller. When <ahref="#Pixmap">Pixmap</a> goes
out of scope, <ahref="#SkPixmap_addr">addr</a> is unaffected.
Sets <ahref="#SkPixmap_width">width</a>, <ahref="#SkPixmap_height">height</a>, pixel address, and row bytes to <ahref="undocumented#Mask">Mask</a> properties, if <ahref="undocumented#Mask">Mask</a>
format is <ahref="#SkMask_kA8_Format">SkMask::kA8 Format</a>; and returns true. Otherwise sets <ahref="#SkPixmap_width">width</a>, <ahref="#SkPixmap_height">height</a>,
row bytes to zero; pixel address to nullptr; <ahref="undocumented#SkColorType">SkColorType</a> to <ahref="undocumented#SkColorType">kUnknown SkColorType</a>;
and <ahref="undocumented#SkAlphaType">SkAlphaType</a> to <ahref="undocumented#SkAlphaType">kUnknown SkAlphaType</a>; and returns false.
Failing to read the return value generates a compile time warning.
Sets <ahref="#SkPixmap_extractSubset_subset">subset</a><ahref="#SkPixmap_width">width</a>, <ahref="#SkPixmap_height">height</a>, pixel address to intersection of <ahref="#Pixmap">Pixmap</a> with <ahref="#SkPixmap_extractSubset_area">area</a>,
if intersection is not empty; and return true. Otherwise, leave <ahref="#SkPixmap_extractSubset_subset">subset</a> unchanged
and return false.
Failing to read the return value generates a compile time warning.
<ahref="#SkPixmap_addr_2">addr(int x, int y)</a><ahref="#SkPixmap_addr8">addr8</a><ahref="#SkPixmap_addr16">addr16</a><ahref="#SkPixmap_addr32">addr32</a><ahref="#SkPixmap_addr64">addr64</a><ahref="#SkPixmap_info">info</a><ahref="#SkPixmap_rowBytes">rowBytes</a>
<div><fiddle-embedname="34c71f803b8edb48eaf1cd0c55bb212e"><div><ahref="#SkColorSpace_MakeSRGBLinear">SkColorSpace::MakeSRGBLinear</a> creates <ahref="undocumented#Color_Space">Color Space</a> with linear gamma
and an sRGB gamut. This <ahref="undocumented#Color_Space">Color Space</a> gamma is not close to sRGB gamma.</div>
true if <ahref="#Info">Image Info</a> has opaque <ahref="undocumented#Alpha_Type">Alpha Type</a>
### Example
<div><fiddle-embedname="efd083f121e888a523455ea8a49e50d1"><div><ahref="#SkPixmap_isOpaque">isOpaque</a> ignores whether all pixels are opaque or not.</div>
Returns minimum memory required for pixel storage.
Does not include unused memory on last row when <ahref="#SkPixmap_rowBytesAsPixels">rowBytesAsPixels</a> exceeds <ahref="#SkPixmap_width">width</a>.
Returns zero if result does not fit in size_t.
Returns zero if <ahref="#SkPixmap_height">height</a> or <ahref="#SkPixmap_width">width</a> is 0.
Returns <ahref="#SkPixmap_height">height</a> times <ahref="#SkPixmap_rowBytes">rowBytes</a> if <ahref="#SkPixmap_colorType">colorType</a> is <ahref="undocumented#SkColorType">kUnknown SkColorType</a>.
pixels have alpha values equivalent to 1.0 or greater.
For <ahref="undocumented#Color_Type">Color Types</a><ahref="undocumented#SkColorType">kRGB 565 SkColorType</a> or <ahref="undocumented#SkColorType">kGray 8 SkColorType</a>: always
returns true. For <ahref="undocumented#Color_Type">Color Types</a><ahref="undocumented#SkColorType">kAlpha 8 SkColorType</a>, <ahref="undocumented#SkColorType">kBGRA 8888 SkColorType</a>,
<ahref="undocumented#SkColorType">kRGBA 8888 SkColorType</a>: returns true if all pixel <ahref="#Alpha">Alpha</a> values are 255.
For <ahref="undocumented#Color_Type">Color Type</a><ahref="undocumented#SkColorType">kARGB 4444 SkColorType</a>: returns true if all pixel <ahref="#Alpha">Alpha</a> values are 15.
For <ahref="undocumented#SkColorType">kRGBA F16 SkColorType</a>: returns true if all pixel <ahref="#Alpha">Alpha</a> values are 1.0 or
Returns pixel at (<ahref="#SkPixmap_getColor_x">x</a>, <ahref="#SkPixmap_getColor_y">y</a>) as <ahref="#Unpremultiply">Unpremultiplied</a><ahref="undocumented#Color">Color</a>.
Returns black with <ahref="#Alpha">Alpha</a> if <ahref="undocumented#Color_Type">Color Type</a> is <ahref="undocumented#SkColorType">kAlpha 8 SkColorType</a>.
Input is not validated: out of <ahref="#SkPixmap_bounds">bounds</a> values of <ahref="#SkPixmap_getColor_x">x</a> or <ahref="#SkPixmap_getColor_y">y</a> trigger an assert() if
built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined; and returns undefined values or may crash if
<ahref="undocumented#SK_RELEASE">SK RELEASE</a> is defined. Fails if <ahref="undocumented#Color_Type">Color Type</a> is <ahref="undocumented#SkColorType">kUnknown SkColorType</a> or
pixel address is nullptr.
<ahref="undocumented#Color_Space">Color Space</a> in <ahref="#Info">Image Info</a> is ignored. Some <ahref="undocumented#Color">Color</a> precision may be lost in the
conversion to <ahref="#Unpremultiply">Unpremultiplied</a><ahref="undocumented#Color">Color</a>; original pixel data may have additional
Returns readable pixel address at (<ahref="#SkPixmap_addr_2_x">x</a>, <ahref="#SkPixmap_addr_2_y">y</a>). Returns nullptr if <ahref="undocumented#Pixel_Ref">Pixel Ref</a> is nullptr.
Input is not validated: out of <ahref="#SkPixmap_bounds">bounds</a> values of <ahref="#SkPixmap_addr_2_x">x</a> or <ahref="#SkPixmap_addr_2_y">y</a> trigger an assert() if
built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined. Returns nullptr if <ahref="undocumented#Color_Type">Color Type</a> is <ahref="undocumented#SkColorType">kUnknown SkColorType</a>.
Performs a lookup of pixel size; for better performance, call
one of: <ahref="#SkPixmap_addr8">addr8</a>, <ahref="#SkPixmap_addr16">addr16</a>, <ahref="#SkPixmap_addr32">addr32</a>, <ahref="#SkPixmap_addr64">addr64</a>, or <ahref="#SkPixmap_addrF16">addrF16</a>.
Returns readable base pixel address. Result is addressable as unsigned 64-bit words.
Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not <ahref="undocumented#SkColorType">kRGBA F16 SkColorType</a> and is built
with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Returns readable base pixel address. Result is addressable as unsigned 16-bit words.
Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not <ahref="undocumented#SkColorType">kRGBA F16 SkColorType</a> and is built
with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Each word represents one color component encoded as a half float.
Four words correspond to one pixel.
### Return Value
readable unsigned 16-bit pointer to first component of pixels
Returns readable pixel address at (<ahref="#SkPixmap_addr8_2_x">x</a>, <ahref="#SkPixmap_addr8_2_y">y</a>).
Input is not validated: out of <ahref="#SkPixmap_bounds">bounds</a> values of <ahref="#SkPixmap_addr8_2_x">x</a> or <ahref="#SkPixmap_addr8_2_y">y</a> trigger an assert() if
built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not <ahref="undocumented#SkColorType">kAlpha 8 SkColorType</a> or
<ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, and is built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Returns readable pixel address at (<ahref="#SkPixmap_addr16_2_x">x</a>, <ahref="#SkPixmap_addr16_2_y">y</a>).
Input is not validated: out of <ahref="#SkPixmap_bounds">bounds</a> values of <ahref="#SkPixmap_addr16_2_x">x</a> or <ahref="#SkPixmap_addr16_2_y">y</a> trigger an assert() if
built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not <ahref="undocumented#SkColorType">kRGB 565 SkColorType</a> or
<ahref="undocumented#SkColorType">kARGB 4444 SkColorType</a>, and is built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Returns readable pixel address at (<ahref="#SkPixmap_addr32_2_x">x</a>, <ahref="#SkPixmap_addr32_2_y">y</a>).
Input is not validated: out of <ahref="#SkPixmap_bounds">bounds</a> values of <ahref="#SkPixmap_addr32_2_x">x</a> or <ahref="#SkPixmap_addr32_2_y">y</a> trigger an assert() if
built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not <ahref="undocumented#SkColorType">kRGBA 8888 SkColorType</a> or
<ahref="undocumented#SkColorType">kBGRA 8888 SkColorType</a>, and is built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Returns readable pixel address at (<ahref="#SkPixmap_addr64_2_x">x</a>, <ahref="#SkPixmap_addr64_2_y">y</a>).
Input is not validated: out of <ahref="#SkPixmap_bounds">bounds</a> values of <ahref="#SkPixmap_addr64_2_x">x</a> or <ahref="#SkPixmap_addr64_2_y">y</a> trigger an assert() if
built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not <ahref="undocumented#SkColorType">kRGBA F16 SkColorType</a> and is built
with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Returns readable pixel address at (<ahref="#SkPixmap_addrF16_2_x">x</a>, <ahref="#SkPixmap_addrF16_2_y">y</a>).
Input is not validated: out of <ahref="#SkPixmap_bounds">bounds</a> values of <ahref="#SkPixmap_addrF16_2_x">x</a> or <ahref="#SkPixmap_addrF16_2_y">y</a> trigger an assert() if
built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not <ahref="undocumented#SkColorType">kRGBA F16 SkColorType</a> and is built
with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Each unsigned 16-bit word represents one color component encoded as a half float.
Returns writable pixel address at (<ahref="#SkPixmap_writable_addr_2_x">x</a>, <ahref="#SkPixmap_writable_addr_2_y">y</a>).
Input is not validated: out of <ahref="#SkPixmap_bounds">bounds</a> values of <ahref="#SkPixmap_writable_addr_2_x">x</a> or <ahref="#SkPixmap_writable_addr_2_y">y</a> trigger an assert() if
built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined. Returns zero if <ahref="undocumented#Color_Type">Color Type</a> is <ahref="undocumented#SkColorType">kUnknown SkColorType</a>.
Returns writable pixel address at (<ahref="#SkPixmap_writable_addr8_x">x</a>, <ahref="#SkPixmap_writable_addr8_y">y</a>). Result is addressable as unsigned
8-bit bytes. Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not <ahref="undocumented#SkColorType">kAlpha 8 SkColorType</a>
or <ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, and is built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
<div><fiddle-embedname="809284db136748208b3efc31cd89de29"><div>Altering pixels after drawing <ahref="SkBitmap_Reference#Bitmap">Bitmap</a> is not guaranteed to affect subsequent
Returns <ahref="#SkPixmap_writable_addr">writable addr</a> pixel address at (<ahref="#SkPixmap_writable_addr16_x">x</a>, <ahref="#SkPixmap_writable_addr16_y">y</a>). Result is addressable as unsigned
16-bit words. Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not <ahref="undocumented#SkColorType">kRGB 565 SkColorType</a>
or <ahref="undocumented#SkColorType">kARGB 4444 SkColorType</a>, and is built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Returns writable pixel address at (<ahref="#SkPixmap_writable_addr32_x">x</a>, <ahref="#SkPixmap_writable_addr32_y">y</a>). Result is addressable as unsigned
32-bit words. Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not
<ahref="undocumented#SkColorType">kRGBA 8888 SkColorType</a> or <ahref="undocumented#SkColorType">kBGRA 8888 SkColorType</a>, and is built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a>
Returns writable pixel address at (<ahref="#SkPixmap_writable_addr64_x">x</a>, <ahref="#SkPixmap_writable_addr64_y">y</a>). Result is addressable as unsigned
64-bit words. Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not
<ahref="undocumented#SkColorType">kRGBA F16 SkColorType</a> and is built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Returns writable pixel address at (<ahref="#SkPixmap_writable_addrF16_x">x</a>, <ahref="#SkPixmap_writable_addrF16_y">y</a>). Result is addressable as unsigned
16-bit words. Will trigger an assert() if <ahref="undocumented#Color_Type">Color Type</a> is not
<ahref="undocumented#SkColorType">kRGBA F16 SkColorType</a> and is built with <ahref="undocumented#SK_DEBUG">SK DEBUG</a> defined.
Copies a <ahref="SkRect_Reference#Rect">Rect</a> of pixels to <ahref="#SkPixmap_readPixels_dstPixels">dstPixels</a>. Copy starts at (<ahref="#SkPixmap_readPixels_srcX">srcX</a>, <ahref="#SkPixmap_readPixels_srcY">srcY</a>), and does not
<ahref="#SkPixmap_readPixels_dstInfo">dstInfo</a> specifies <ahref="#SkPixmap_width">width</a>, <ahref="#SkPixmap_height">height</a>, <ahref="undocumented#Color_Type">Color Type</a>, <ahref="undocumented#Alpha_Type">Alpha Type</a>, and
<ahref="undocumented#Color_Space">Color Space</a> of destination. <ahref="#SkPixmap_readPixels_dstRowBytes">dstRowBytes</a> specifics the gap from one destination
row to the next. Returns true if pixels are copied. Returns false if
<ahref="#SkPixmap_readPixels_dstInfo">dstInfo</a>.<ahref="#SkPixmap_addr">addr</a> equals nullptr, or <ahref="#SkPixmap_readPixels_dstRowBytes">dstRowBytes</a> is less than <ahref="#SkPixmap_readPixels_dstInfo">dstInfo</a>.<ahref="undocumented#SkImageInfo">minRowBytes</a>.
Pixels are copied only if pixel conversion is possible. If this-><ahref="#SkPixmap_colorType">colorType</a> is
<ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, or <ahref="undocumented#SkColorType">kAlpha 8 SkColorType</a>; <ahref="#SkPixmap_readPixels_dstInfo">dstInfo</a>.<ahref="#SkPixmap_colorType">colorType</a> must match.
If this-><ahref="#SkPixmap_colorType">colorType</a> is <ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, <ahref="#SkPixmap_readPixels_dstInfo">dstInfo</a>.<ahref="#SkPixmap_colorSpace">colorSpace</a> must match.
If this-><ahref="#SkPixmap_alphaType">alphaType</a> is <ahref="undocumented#SkAlphaType">kOpaque SkAlphaType</a>, <ahref="#SkPixmap_readPixels_dstInfo">dstInfo</a>.<ahref="#SkPixmap_alphaType">alphaType</a> must
match. If this-><ahref="#SkPixmap_colorSpace">colorSpace</a> is nullptr, <ahref="#SkPixmap_readPixels_dstInfo">dstInfo</a>.<ahref="#SkPixmap_colorSpace">colorSpace</a> must match. Returns
false if pixel conversion is not possible.
<ahref="#SkPixmap_readPixels_srcX">srcX</a> and <ahref="#SkPixmap_readPixels_srcY">srcY</a> may be negative to copy only top or left of source. Returns
If <ahref="#SkPixmap_readPixels_behavior">behavior</a> is <ahref="#SkTransferFunctionBehavior_kRespect">SkTransferFunctionBehavior::kRespect</a>: converts source
pixels to a linear space before converting to <ahref="#SkPixmap_readPixels_dstInfo">dstInfo</a>.
If <ahref="#SkPixmap_readPixels_behavior">behavior</a> is <ahref="#SkTransferFunctionBehavior_kIgnore">SkTransferFunctionBehavior::kIgnore</a>: source
Copies a <ahref="SkRect_Reference#Rect">Rect</a> of pixels to <ahref="#SkPixmap_readPixels_2_dstPixels">dstPixels</a>. Copy starts at (0, 0), and does not
<ahref="#SkPixmap_readPixels_2_dstInfo">dstInfo</a> specifies <ahref="#SkPixmap_width">width</a>, <ahref="#SkPixmap_height">height</a>, <ahref="undocumented#Color_Type">Color Type</a>, <ahref="undocumented#Alpha_Type">Alpha Type</a>, and
<ahref="undocumented#Color_Space">Color Space</a> of destination. <ahref="#SkPixmap_readPixels_2_dstRowBytes">dstRowBytes</a> specifics the gap from one destination
row to the next. Returns true if pixels are copied. Returns false if
<ahref="#SkPixmap_readPixels_2_dstInfo">dstInfo</a>.<ahref="#SkPixmap_addr">addr</a> equals nullptr, or <ahref="#SkPixmap_readPixels_2_dstRowBytes">dstRowBytes</a> is less than <ahref="#SkPixmap_readPixels_2_dstInfo">dstInfo</a>.<ahref="undocumented#SkImageInfo">minRowBytes</a>.
Pixels are copied only if pixel conversion is possible. If this-><ahref="#SkPixmap_colorType">colorType</a> is
<ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, or <ahref="undocumented#SkColorType">kAlpha 8 SkColorType</a>; <ahref="#SkPixmap_readPixels_2_dstInfo">dstInfo</a>.<ahref="#SkPixmap_colorType">colorType</a> must match.
If this-><ahref="#SkPixmap_colorType">colorType</a> is <ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, <ahref="#SkPixmap_readPixels_2_dstInfo">dstInfo</a>.<ahref="#SkPixmap_colorSpace">colorSpace</a> must match.
If this-><ahref="#SkPixmap_alphaType">alphaType</a> is <ahref="undocumented#SkAlphaType">kOpaque SkAlphaType</a>, <ahref="#SkPixmap_readPixels_2_dstInfo">dstInfo</a>.<ahref="#SkPixmap_alphaType">alphaType</a> must
match. If this-><ahref="#SkPixmap_colorSpace">colorSpace</a> is nullptr, <ahref="#SkPixmap_readPixels_2_dstInfo">dstInfo</a>.<ahref="#SkPixmap_colorSpace">colorSpace</a> must match. Returns
false if pixel conversion is not possible.
Returns false if this-><ahref="#SkPixmap_width">width</a> or this-><ahref="#SkPixmap_height">height</a> is zero or negative.
Copies a <ahref="SkRect_Reference#Rect">Rect</a> of pixels to <ahref="#SkPixmap_readPixels_3_dstPixels">dstPixels</a>. Copy starts at (<ahref="#SkPixmap_readPixels_3_srcX">srcX</a>, <ahref="#SkPixmap_readPixels_3_srcY">srcY</a>), and does not
<ahref="#SkPixmap_readPixels_3_dstInfo">dstInfo</a> specifies <ahref="#SkPixmap_width">width</a>, <ahref="#SkPixmap_height">height</a>, <ahref="undocumented#Color_Type">Color Type</a>, <ahref="undocumented#Alpha_Type">Alpha Type</a>, and
<ahref="undocumented#Color_Space">Color Space</a> of destination. <ahref="#SkPixmap_readPixels_3_dstRowBytes">dstRowBytes</a> specifics the gap from one destination
row to the next. Returns true if pixels are copied. Returns false if
<ahref="#SkPixmap_readPixels_3_dstInfo">dstInfo</a>.<ahref="#SkPixmap_addr">addr</a> equals nullptr, or <ahref="#SkPixmap_readPixels_3_dstRowBytes">dstRowBytes</a> is less than <ahref="#SkPixmap_readPixels_3_dstInfo">dstInfo</a>.<ahref="undocumented#SkImageInfo">minRowBytes</a>.
Pixels are copied only if pixel conversion is possible. If this-><ahref="#SkPixmap_colorType">colorType</a> is
<ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, or <ahref="undocumented#SkColorType">kAlpha 8 SkColorType</a>; <ahref="#SkPixmap_readPixels_3_dstInfo">dstInfo</a>.<ahref="#SkPixmap_colorType">colorType</a> must match.
If this-><ahref="#SkPixmap_colorType">colorType</a> is <ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, <ahref="#SkPixmap_readPixels_3_dstInfo">dstInfo</a>.<ahref="#SkPixmap_colorSpace">colorSpace</a> must match.
If this-><ahref="#SkPixmap_alphaType">alphaType</a> is <ahref="undocumented#SkAlphaType">kOpaque SkAlphaType</a>, <ahref="#SkPixmap_readPixels_3_dstInfo">dstInfo</a>.<ahref="#SkPixmap_alphaType">alphaType</a> must
match. If this-><ahref="#SkPixmap_colorSpace">colorSpace</a> is nullptr, <ahref="#SkPixmap_readPixels_3_dstInfo">dstInfo</a>.<ahref="#SkPixmap_colorSpace">colorSpace</a> must match. Returns
false if pixel conversion is not possible.
<ahref="#SkPixmap_readPixels_3_srcX">srcX</a> and <ahref="#SkPixmap_readPixels_3_srcY">srcY</a> may be negative to copy only top or left of source. Returns
Copies a <ahref="SkRect_Reference#Rect">Rect</a> of pixels to <ahref="#SkPixmap_readPixels_4_dst">dst</a>. Copy starts at (<ahref="#SkPixmap_readPixels_4_srcX">srcX</a>, <ahref="#SkPixmap_readPixels_4_srcY">srcY</a>), and does not
<ahref="undocumented#Alpha_Type">Alpha Type</a>, and <ahref="undocumented#Color_Space">Color Space</a> of destination. Returns true if pixels are copied.
Returns false if <ahref="#SkPixmap_readPixels_4_dst">dst</a>.<ahref="#SkPixmap_addr">addr</a> equals nullptr, or <ahref="#SkPixmap_readPixels_4_dst">dst</a>.<ahref="#SkPixmap_rowBytes">rowBytes</a> is less than
Pixels are copied only if pixel conversion is possible. If this-><ahref="#SkPixmap_colorType">colorType</a> is
<ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, or <ahref="undocumented#SkColorType">kAlpha 8 SkColorType</a>; <ahref="#SkPixmap_readPixels_4_dst">dst</a>.<ahref="#SkPixmap_info">info</a>.<ahref="#SkPixmap_colorType">colorType</a> must match.
If this-><ahref="#SkPixmap_colorType">colorType</a> is <ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, <ahref="#SkPixmap_readPixels_4_dst">dst</a>.<ahref="#SkPixmap_info">info</a>.<ahref="#SkPixmap_colorSpace">colorSpace</a> must match.
If this-><ahref="#SkPixmap_alphaType">alphaType</a> is <ahref="undocumented#SkAlphaType">kOpaque SkAlphaType</a>, <ahref="#SkPixmap_readPixels_4_dst">dst</a>.<ahref="#SkPixmap_info">info</a>.<ahref="#SkPixmap_alphaType">alphaType</a> must
match. If this-><ahref="#SkPixmap_colorSpace">colorSpace</a> is nullptr, <ahref="#SkPixmap_readPixels_4_dst">dst</a>.<ahref="#SkPixmap_info">info</a>.<ahref="#SkPixmap_colorSpace">colorSpace</a> must match. Returns
false if pixel conversion is not possible.
<ahref="#SkPixmap_readPixels_4_srcX">srcX</a> and <ahref="#SkPixmap_readPixels_4_srcY">srcY</a> may be negative to copy only top or left of source. Returns
<ahref="undocumented#Alpha_Type">Alpha Type</a>, and <ahref="undocumented#Color_Space">Color Space</a> of destination. Returns true if pixels are copied.
Returns false if <ahref="#SkPixmap_readPixels_5_dst">dst</a>.<ahref="#SkPixmap_addr">addr</a> equals nullptr, or <ahref="#SkPixmap_readPixels_5_dst">dst</a>.<ahref="#SkPixmap_rowBytes">rowBytes</a> is less than
Pixels are copied only if pixel conversion is possible. If this-><ahref="#SkPixmap_colorType">colorType</a> is
<ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, or <ahref="undocumented#SkColorType">kAlpha 8 SkColorType</a>; <ahref="#SkPixmap_readPixels_5_dst">dst</a><ahref="undocumented#Color_Type">Color Type</a> must match.
If this-><ahref="#SkPixmap_colorType">colorType</a> is <ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, <ahref="#SkPixmap_readPixels_5_dst">dst</a><ahref="undocumented#Color_Space">Color Space</a> must match.
If this-><ahref="#SkPixmap_alphaType">alphaType</a> is <ahref="undocumented#SkAlphaType">kOpaque SkAlphaType</a>, <ahref="#SkPixmap_readPixels_5_dst">dst</a><ahref="undocumented#Alpha_Type">Alpha Type</a> must
match. If this-><ahref="#SkPixmap_colorSpace">colorSpace</a> is nullptr, <ahref="#SkPixmap_readPixels_5_dst">dst</a><ahref="undocumented#Color_Space">Color Space</a> must match. Returns
false if pixel conversion is not possible.
Returns false if this-><ahref="#SkPixmap_width">width</a> or this-><ahref="#SkPixmap_height">height</a> is zero or negative.
Copies this to <ahref="#SkPixmap_scalePixels_dst">dst</a>, scaling pixels to fit <ahref="#SkPixmap_scalePixels_dst">dst</a>.<ahref="#SkPixmap_width">width</a> and <ahref="#SkPixmap_scalePixels_dst">dst</a>.<ahref="#SkPixmap_height">height</a>, and
converting pixels to match <ahref="#SkPixmap_scalePixels_dst">dst</a>.<ahref="#SkPixmap_colorType">colorType</a> and <ahref="#SkPixmap_scalePixels_dst">dst</a>.<ahref="#SkPixmap_alphaType">alphaType</a>. Returns true if
pixels are copied. Returns false if <ahref="#SkPixmap_scalePixels_dst">dst</a>.<ahref="#SkPixmap_addr">addr</a> is nullptr, or <ahref="#SkPixmap_scalePixels_dst">dst</a>.<ahref="#SkPixmap_rowBytes">rowBytes</a> is
less than <ahref="#SkPixmap_scalePixels_dst">dst</a><ahref="#SkImageInfo_minRowBytes">SkImageInfo::minRowBytes</a>.
Pixels are copied only if pixel conversion is possible. If this-><ahref="#SkPixmap_colorType">colorType</a> is
<ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, or <ahref="undocumented#SkColorType">kAlpha 8 SkColorType</a>; <ahref="#SkPixmap_scalePixels_dst">dst</a><ahref="undocumented#Color_Type">Color Type</a> must match.
If this-><ahref="#SkPixmap_colorType">colorType</a> is <ahref="undocumented#SkColorType">kGray 8 SkColorType</a>, <ahref="#SkPixmap_scalePixels_dst">dst</a><ahref="undocumented#Color_Space">Color Space</a> must match.
If this-><ahref="#SkPixmap_alphaType">alphaType</a> is <ahref="undocumented#SkAlphaType">kOpaque SkAlphaType</a>, <ahref="#SkPixmap_scalePixels_dst">dst</a><ahref="undocumented#Alpha_Type">Alpha Type</a> must
match. If this-><ahref="#SkPixmap_colorSpace">colorSpace</a> is nullptr, <ahref="#SkPixmap_scalePixels_dst">dst</a><ahref="undocumented#Color_Space">Color Space</a> must match. Returns
false if pixel conversion is not possible.
Returns false if this-><ahref="#SkPixmap_width">width</a> or this-><ahref="#SkPixmap_height">height</a> is zero or negative.
Scales the image, with <ahref="#SkPixmap_scalePixels_filterQuality">filterQuality</a>, to match <ahref="#SkPixmap_scalePixels_dst">dst</a>.<ahref="#SkPixmap_width">width</a> and <ahref="#SkPixmap_scalePixels_dst">dst</a>.<ahref="#SkPixmap_height">height</a>.
<ahref="#SkPixmap_scalePixels_filterQuality">filterQuality</a><ahref="undocumented#SkFilterQuality">kNone SkFilterQuality</a> is fastest, typically implemented with
<ahref="undocumented#Filter_Quality_Nearest_Neighbor">Filter Quality Nearest Neighbor</a>. <ahref="undocumented#SkFilterQuality">kLow SkFilterQuality</a> is typically implemented with
<ahref="undocumented#Filter_Quality_Bilerp">Filter Quality Bilerp</a>. <ahref="undocumented#SkFilterQuality">kMedium SkFilterQuality</a> is typically implemented with
<ahref="undocumented#Filter_Quality_Bilerp">Filter Quality Bilerp</a>, and <ahref="undocumented#Filter_Quality_MipMap">Filter Quality MipMap</a> when size is reduced.
<ahref="undocumented#SkFilterQuality">kHigh SkFilterQuality</a> is slowest, typically implemented with <ahref="undocumented#Filter_Quality_BiCubic">Filter Quality BiCubic</a>.
Writes <ahref="#SkPixmap_erase_color">color</a> to pixels bounded by <ahref="#SkPixmap_erase_subset">subset</a>; returns true on success.
Returns false if <ahref="#SkPixmap_colorType">colorType</a> is <ahref="undocumented#SkColorType">kUnknown SkColorType</a>, or if <ahref="#SkPixmap_erase_subset">subset</a> does
not intersect <ahref="#SkPixmap_bounds">bounds</a>.
Writes <ahref="#SkPixmap_erase_2_color">color</a> to pixels inside <ahref="#SkPixmap_bounds">bounds</a>; returns true on success.
Returns false if <ahref="#SkPixmap_colorType">colorType</a> is <ahref="undocumented#SkColorType">kUnknown SkColorType</a>, or if <ahref="#SkPixmap_bounds">bounds</a>
Writes <ahref="#SkPixmap_erase_3_color">color</a> to pixels bounded by <ahref="#SkPixmap_erase_3_subset">subset</a>; returns true on success.
if <ahref="#SkPixmap_erase_3_subset">subset</a> is nullptr, writes colors pixels inside <ahref="#SkPixmap_bounds">bounds</a>. Returns false if
<ahref="#SkPixmap_colorType">colorType</a> is <ahref="undocumented#SkColorType">kUnknown SkColorType</a>, if <ahref="#SkPixmap_erase_3_subset">subset</a> is not nullptr and does
not intersect <ahref="#SkPixmap_bounds">bounds</a>, or if <ahref="#SkPixmap_erase_3_subset">subset</a> is nullptr and <ahref="#SkPixmap_bounds">bounds</a> is empty.