1SkImageInfo Reference 2=== 3 4# <a name="Image_Info"></a> Image Info 5 6## <a name="Overview"></a> Overview 7 8## <a name="Subtopics"></a> Subtopics 9 10| name | description | 11| --- | --- | 12| <a href="SkImageInfo_Reference#Image_Info_Constructors">Constructors</a> | functions that construct <a href="SkImageInfo_Reference#SkImageInfo">SkImageInfo</a> | 13| <a href="SkImageInfo_Reference#Image_Info_Member_Functions">Member Functions</a> | static functions and member methods | 14| <a href="SkImageInfo_Reference#Image_Info_Operators">Operators</a> | operator overloading methods | 15 16## <a name="Constants"></a> Constants 17 18| name | description | 19| --- | --- | 20 21## <a name="Alpha_Type"></a> Alpha Type 22 23## <a name="SkAlphaType"></a> Enum SkAlphaType 24 25<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 26enum <a href="#SkAlphaType">SkAlphaType</a> { 27<a href="SkImageInfo_Reference#kUnknown_SkAlphaType">kUnknown SkAlphaType</a>, 28<a href="SkImageInfo_Reference#kOpaque_SkAlphaType">kOpaque SkAlphaType</a>, 29<a href="SkImageInfo_Reference#kPremul_SkAlphaType">kPremul SkAlphaType</a>, 30<a href="SkImageInfo_Reference#kUnpremul_SkAlphaType">kUnpremul SkAlphaType</a>, 31kLastEnum_SkAlphaType = <a href="SkImageInfo_Reference#kUnpremul_SkAlphaType">kUnpremul SkAlphaType</a>, 32};</pre> 33 34Describes how to interpret the alpha component of a pixel. 35 36### Constants 37 38<table> 39 <tr> 40 <td><a name="kUnknown_SkAlphaType"> <code><strong>kUnknown_SkAlphaType </strong></code> </a></td><td>0</td><td></td> 41 </tr> 42 <tr> 43 <td><a name="kOpaque_SkAlphaType"> <code><strong>kOpaque_SkAlphaType </strong></code> </a></td><td>1</td><td>All pixels are stored as opaque.</td> 44 </tr> 45 <tr> 46 <td><a name="kPremul_SkAlphaType"> <code><strong>kPremul_SkAlphaType </strong></code> </a></td><td>2</td><td>All pixels have their alpha premultiplied in their color components. 47This is the natural format for the rendering target pixels.</td> 48 </tr> 49 <tr> 50 <td><a name="kUnpremul_SkAlphaType"> <code><strong>kUnpremul_SkAlphaType </strong></code> </a></td><td>3</td><td>All pixels have their color components stored without any regard to the 51alpha. e.g. this is the default configuration for PNG images. 52<a href="SkImageInfo_Reference#kUnpremul_SkAlphaType">kUnpremul SkAlphaType</a> is supported only for input images. Rendering cannot 53generate this on output.</td> 54 </tr> 55</table> 56 57### Example 58 59<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 60 61### See Also 62 63incomplete 64 65 66 67## <a name="Color_Type"></a> Color Type 68 69## <a name="SkColorType"></a> Enum SkColorType 70 71<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 72enum <a href="#SkColorType">SkColorType</a> { 73<a href="SkImageInfo_Reference#kUnknown_SkColorType">kUnknown SkColorType</a>, 74<a href="SkImageInfo_Reference#kAlpha_8_SkColorType">kAlpha 8 SkColorType</a>, 75<a href="SkImageInfo_Reference#kRGB_565_SkColorType">kRGB 565 SkColorType</a>, 76<a href="SkImageInfo_Reference#kARGB_4444_SkColorType">kARGB 4444 SkColorType</a>, 77<a href="SkImageInfo_Reference#kRGBA_8888_SkColorType">kRGBA 8888 SkColorType</a>, 78<a href="SkImageInfo_Reference#kBGRA_8888_SkColorType">kBGRA 8888 SkColorType</a>, 79<a href="SkImageInfo_Reference#kGray_8_SkColorType">kGray 8 SkColorType</a>, 80<a href="SkImageInfo_Reference#kRGBA_F16_SkColorType">kRGBA F16 SkColorType</a>, 81kLastEnum_SkColorType = <a href="SkImageInfo_Reference#kRGBA_F16_SkColorType">kRGBA F16 SkColorType</a>, 82<a href="SkImageInfo_Reference#kN32_SkColorType">kN32 SkColorType</a> = <a href="SkImageInfo_Reference#kBGRA_8888_SkColorType">kBGRA 8888 SkColorType</a>, 83<a href="SkImageInfo_Reference#kN32_SkColorType">kN32 SkColorType</a> = <a href="SkImageInfo_Reference#kRGBA_8888_SkColorType">kRGBA 8888 SkColorType</a>, 84};</pre> 85 86Describes how to interpret the components of a pixel. 87<a href="SkImageInfo_Reference#kN32_SkColorType">kN32 SkColorType</a> is an alias for whichever 32 bit <a href="#ARGB">Color ARGB</a> format is the "" 88form for skia's blitters. Use this if you don't have a swizzle preference 89for 32 bit pixels. 90 91### Constants 92 93<table> 94 <tr> 95 <td><a name="kUnknown_SkColorType"> <code><strong>kUnknown_SkColorType </strong></code> </a></td><td>0</td><td></td> 96 </tr> 97 <tr> 98 <td><a name="kAlpha_8_SkColorType"> <code><strong>kAlpha_8_SkColorType </strong></code> </a></td><td>1</td><td></td> 99 </tr> 100 <tr> 101 <td><a name="kRGB_565_SkColorType"> <code><strong>kRGB_565_SkColorType </strong></code> </a></td><td>2</td><td></td> 102 </tr> 103 <tr> 104 <td><a name="kARGB_4444_SkColorType"> <code><strong>kARGB_4444_SkColorType </strong></code> </a></td><td>3</td><td></td> 105 </tr> 106 <tr> 107 <td><a name="kRGBA_8888_SkColorType"> <code><strong>kRGBA_8888_SkColorType </strong></code> </a></td><td>4</td><td></td> 108 </tr> 109 <tr> 110 <td><a name="kRGB_888x_SkColorType"> <code><strong>kRGB_888x_SkColorType </strong></code> </a></td><td>5</td><td></td> 111 </tr> 112 <tr> 113 <td><a name="kBGRA_8888_SkColorType"> <code><strong>kBGRA_8888_SkColorType </strong></code> </a></td><td>6</td><td></td> 114 </tr> 115 <tr> 116 <td><a name="kRGBA_1010102_SkColorType"> <code><strong>kRGBA_1010102_SkColorType </strong></code> </a></td><td>7</td><td></td> 117 </tr> 118 <tr> 119 <td><a name="kRGB_101010x_SkColorType"> <code><strong>kRGB_101010x_SkColorType </strong></code> </a></td><td>8</td><td></td> 120 </tr> 121 <tr> 122 <td><a name="kGray_8_SkColorType"> <code><strong>kGray_8_SkColorType </strong></code> </a></td><td>9</td><td></td> 123 </tr> 124 <tr> 125 <td><a name="kRGBA_F16_SkColorType"> <code><strong>kRGBA_F16_SkColorType </strong></code> </a></td><td>10</td><td></td> 126 </tr> 127</table> 128 129### Constants 130 131<table> 132 <tr> 133 <td><a name="kN32_SkColorType"> <code><strong>kN32_SkColorType </strong></code> </a></td><td>4</td><td></td> 134 </tr> 135</table> 136 137### Example 138 139<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 140 141### See Also 142 143incomplete 144 145 146 147## <a name="SkYUVColorSpace"></a> Enum SkYUVColorSpace 148 149<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 150enum <a href="#SkYUVColorSpace">SkYUVColorSpace</a> { 151<a href="SkImageInfo_Reference#kJPEG_SkYUVColorSpace">kJPEG SkYUVColorSpace</a>, 152<a href="SkImageInfo_Reference#kRec601_SkYUVColorSpace">kRec601 SkYUVColorSpace</a>, 153<a href="SkImageInfo_Reference#kRec709_SkYUVColorSpace">kRec709 SkYUVColorSpace</a>, 154kLastEnum_SkYUVColorSpace = <a href="SkImageInfo_Reference#kRec709_SkYUVColorSpace">kRec709 SkYUVColorSpace</a>, 155};</pre> 156 157Describes the color space a YUV pixel. 158 159### Constants 160 161<table> 162 <tr> 163 <td><a name="kJPEG_SkYUVColorSpace"> <code><strong>kJPEG_SkYUVColorSpace </strong></code> </a></td><td>0</td><td>Standard JPEG color space.</td> 164 </tr> 165 <tr> 166 <td><a name="kRec601_SkYUVColorSpace"> <code><strong>kRec601_SkYUVColorSpace </strong></code> </a></td><td>1</td><td>SDTV standard Rec. 601 color space. Uses "studio swing" [16, 235] color 167range. See http://en.wikipedia.org/wiki/Rec._601 for details.</td> 168 </tr> 169 <tr> 170 <td><a name="kRec709_SkYUVColorSpace"> <code><strong>kRec709_SkYUVColorSpace </strong></code> </a></td><td>2</td><td>HDTV standard Rec. 709 color space. Uses "studio swing" [16, 235] color 171range. See http://en.wikipedia.org/wiki/Rec._709 for details.</td> 172 </tr> 173</table> 174 175### Example 176 177<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 178 179### See Also 180 181incomplete 182 183 184 185## <a name="SkDestinationSurfaceColorMode"></a> Enum SkDestinationSurfaceColorMode 186 187<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 188enum class <a href="#SkDestinationSurfaceColorMode">SkDestinationSurfaceColorMode</a> { 189<a href="#SkDestinationSurfaceColorMode_kLegacy">kLegacy</a>, 190<a href="#SkDestinationSurfaceColorMode_kGammaAndColorSpaceAware">kGammaAndColorSpaceAware</a>, 191};</pre> 192 193### Constants 194 195<table> 196 <tr> 197 <td><a name="SkDestinationSurfaceColorMode_kLegacy"> <code><strong>SkDestinationSurfaceColorMode::kLegacy </strong></code> </a></td><td>0</td><td></td> 198 </tr> 199 <tr> 200 <td><a name="SkDestinationSurfaceColorMode_kGammaAndColorSpaceAware"> <code><strong>SkDestinationSurfaceColorMode::kGammaAndColorSpaceAware </strong></code> </a></td><td>1</td><td></td> 201 </tr> 202</table> 203 204### Example 205 206<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 207 208### See Also 209 210incomplete 211 212 213 214# <a name="SkImageInfo"></a> Struct SkImageInfo 215Describe an image's dimensions and pixel type. 216Used for both src images and render-targets (surfaces). 217 218## <a name="Operators"></a> Operators 219 220| name | description | 221| --- | --- | 222| <a href="#SkImageInfo_notequal1_operator">operator!=(const SkImageInfo& other) const</a> | incomplete | 223| <a href="#SkImageInfo_equal1_operator">operator==(const SkImageInfo& other) const</a> | incomplete | 224 225## <a name="Member_Functions"></a> Member Functions 226 227| name | description | 228| --- | --- | 229| <a href="#SkImageInfo_ByteSizeOverflowed">ByteSizeOverflowed</a> | incomplete | 230| <a href="#SkImageInfo_Make">Make</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> from dimensions, <a href="SkImageInfo_Reference#Color_Type">Color Type</a>, <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a>, <a href="undocumented#Color_Space">Color Space</a> | 231| <a href="#SkImageInfo_MakeA8">MakeA8</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>, <a href="SkImageInfo_Reference#SkAlphaType">kPremul SkAlphaType</a> | 232| <a href="#SkImageInfo_MakeN32">MakeN32</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#Color_Type">Native Color Type</a> | 233| <a href="#SkImageInfo_MakeN32Premul">MakeN32Premul</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#Color_Type">Native Color Type</a>, <a href="SkImageInfo_Reference#SkAlphaType">kPremul SkAlphaType</a> | 234| <a href="#SkImageInfo_MakeS32">MakeS32</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#Color_Type">Native Color Type</a>, sRGB <a href="undocumented#Color_Space">Color Space</a> | 235| <a href="#SkImageInfo_MakeUnknown">MakeUnknown</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#SkColorType">kUnknown SkColorType</a>, <a href="SkImageInfo_Reference#SkAlphaType">kUnknown SkAlphaType</a> | 236| <a href="#SkImageInfo_alphaType">alphaType</a> | incomplete | 237| <a href="#SkImageInfo_bounds">bounds</a> | incomplete | 238| <a href="#SkImageInfo_bytesPerPixel">bytesPerPixel</a> | incomplete | 239| <a href="#SkImageInfo_colorSpace">colorSpace</a> | incomplete | 240| <a href="#SkImageInfo_colorType">colorType</a> | incomplete | 241| <a href="#SkImageInfo_computeByteSize">computeByteSize</a> | incomplete | 242| <a href="#SkImageInfo_computeMinByteSize">computeMinByteSize</a> | incomplete | 243| <a href="#SkImageInfo_computeOffset">computeOffset</a> | incomplete | 244| <a href="#SkImageInfo_dimensions">dimensions</a> | incomplete | 245| <a href="#SkImageInfo_flatten">flatten</a> | incomplete | 246| <a href="#SkImageInfo_gammaCloseToSRGB">gammaCloseToSRGB</a> | incomplete | 247| <a href="#SkImageInfo_height">height</a> | incomplete | 248| <a href="#SkImageInfo_isEmpty">isEmpty</a> | incomplete | 249| <a href="#SkImageInfo_isOpaque">isOpaque</a> | incomplete | 250| <a href="#SkImageInfo_makeAlphaType">makeAlphaType</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> | 251| <a href="#SkImageInfo_makeColorSpace">makeColorSpace</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed <a href="undocumented#Color_Space">Color Space</a> | 252| <a href="#SkImageInfo_makeColorType">makeColorType</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed <a href="SkImageInfo_Reference#Color_Type">Color Type</a> | 253| <a href="#SkImageInfo_makeWH">makeWH</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed dimensions | 254| <a href="#SkImageInfo_minRowBytes">minRowBytes</a> | incomplete | 255| <a href="#SkImageInfo_minRowBytes64">minRowBytes64</a> | incomplete | 256| <a href="#SkImageInfo_refColorSpace">refColorSpace</a> | incomplete | 257| <a href="#SkImageInfo_reset">reset</a> | incomplete | 258| <a href="#SkImageInfo_shiftPerPixel">shiftPerPixel</a> | incomplete | 259| <a href="#SkImageInfo_unflatten">unflatten</a> | incomplete | 260| <a href="#SkImageInfo_validRowBytes">validRowBytes</a> | incomplete | 261| <a href="#SkImageInfo_validate">validate</a> | incomplete | 262| <a href="#SkImageInfo_width">width</a> | incomplete | 263 264## <a name="Constructors"></a> Constructors 265 266| name | description | 267| --- | --- | 268| <a href="#SkImageInfo_Make">Make</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> from dimensions, <a href="SkImageInfo_Reference#Color_Type">Color Type</a>, <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a>, <a href="undocumented#Color_Space">Color Space</a> | 269| <a href="#SkImageInfo_MakeA8">MakeA8</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#SkColorType">kAlpha 8 SkColorType</a>, <a href="SkImageInfo_Reference#SkAlphaType">kPremul SkAlphaType</a> | 270| <a href="#SkImageInfo_MakeN32">MakeN32</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#Color_Type">Native Color Type</a> | 271| <a href="#SkImageInfo_MakeN32Premul">MakeN32Premul</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#Color_Type">Native Color Type</a>, <a href="SkImageInfo_Reference#SkAlphaType">kPremul SkAlphaType</a> | 272| <a href="#SkImageInfo_MakeS32">MakeS32</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#Color_Type">Native Color Type</a>, sRGB <a href="undocumented#Color_Space">Color Space</a> | 273| <a href="#SkImageInfo_MakeUnknown">MakeUnknown</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with <a href="SkImageInfo_Reference#SkColorType">kUnknown SkColorType</a>, <a href="SkImageInfo_Reference#SkAlphaType">kUnknown SkAlphaType</a> | 274| <a href="#SkImageInfo_empty_constructor">SkImageInfo()</a> | creates with zero dimensions, <a href="SkImageInfo_Reference#SkColorType">kUnknown SkColorType</a>, <a href="SkImageInfo_Reference#SkAlphaType">kUnknown SkAlphaType</a> | 275| <a href="#SkImageInfo_makeAlphaType">makeAlphaType</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed <a href="SkImageInfo_Reference#Alpha_Type">Alpha Type</a> | 276| <a href="#SkImageInfo_makeColorSpace">makeColorSpace</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed <a href="undocumented#Color_Space">Color Space</a> | 277| <a href="#SkImageInfo_makeColorType">makeColorType</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed <a href="SkImageInfo_Reference#Color_Type">Color Type</a> | 278| <a href="#SkImageInfo_makeWH">makeWH</a> | creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with changed dimensions | 279 280<a name="SkImageInfo_empty_constructor"></a> 281## SkImageInfo 282 283<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 284SkImageInfo() 285</pre> 286 287### Return Value 288 289incomplete 290 291### Example 292 293<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 294 295### See Also 296 297incomplete 298 299--- 300 301<a name="SkImageInfo_Make"></a> 302## Make 303 304<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 305static SkImageInfo Make(int width, int height, SkColorType ct, SkAlphaType at, 306 sk_sp<SkColorSpace> cs = nullptr) 307</pre> 308 309### Parameters 310 311<table> <tr> <td><a name="SkImageInfo_Make_width"> <code><strong>width </strong></code> </a></td> <td> 312incomplete</td> 313 </tr> <tr> <td><a name="SkImageInfo_Make_height"> <code><strong>height </strong></code> </a></td> <td> 314incomplete</td> 315 </tr> <tr> <td><a name="SkImageInfo_Make_ct"> <code><strong>ct </strong></code> </a></td> <td> 316incomplete</td> 317 </tr> <tr> <td><a name="SkImageInfo_Make_at"> <code><strong>at </strong></code> </a></td> <td> 318incomplete</td> 319 </tr> <tr> <td><a name="SkImageInfo_Make_cs"> <code><strong>cs </strong></code> </a></td> <td> 320incomplete</td> 321 </tr> 322</table> 323 324### Return Value 325 326incomplete 327 328### Example 329 330<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 331 332### See Also 333 334incomplete 335 336--- 337 338<a name="SkImageInfo_MakeN32"></a> 339## MakeN32 340 341<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 342static SkImageInfo MakeN32(int width, int height, SkAlphaType at, sk_sp<SkColorSpace> cs = nullptr) 343</pre> 344 345Sets colortype to <a href="SkImageInfo_Reference#SkColorType">kN32 SkColorType</a>. 346 347### Parameters 348 349<table> <tr> <td><a name="SkImageInfo_MakeN32_width"> <code><strong>width </strong></code> </a></td> <td> 350incomplete</td> 351 </tr> <tr> <td><a name="SkImageInfo_MakeN32_height"> <code><strong>height </strong></code> </a></td> <td> 352incomplete</td> 353 </tr> <tr> <td><a name="SkImageInfo_MakeN32_at"> <code><strong>at </strong></code> </a></td> <td> 354incomplete</td> 355 </tr> <tr> <td><a name="SkImageInfo_MakeN32_cs"> <code><strong>cs </strong></code> </a></td> <td> 356incomplete</td> 357 </tr> 358</table> 359 360### Return Value 361 362incomplete 363 364### Example 365 366<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 367 368### See Also 369 370incomplete 371 372--- 373 374<a name="SkImageInfo_MakeS32"></a> 375## MakeS32 376 377<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 378static SkImageInfo MakeS32(int width, int height, SkAlphaType at) 379</pre> 380 381Creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> marked as sRGB with <a href="SkImageInfo_Reference#SkColorType">kN32 SkColorType</a> swizzle. 382 383### Parameters 384 385<table> <tr> <td><a name="SkImageInfo_MakeS32_width"> <code><strong>width </strong></code> </a></td> <td> 386incomplete</td> 387 </tr> <tr> <td><a name="SkImageInfo_MakeS32_height"> <code><strong>height </strong></code> </a></td> <td> 388incomplete</td> 389 </tr> <tr> <td><a name="SkImageInfo_MakeS32_at"> <code><strong>at </strong></code> </a></td> <td> 390incomplete</td> 391 </tr> 392</table> 393 394### Return Value 395 396incomplete 397 398### Example 399 400<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 401 402### See Also 403 404incomplete 405 406--- 407 408<a name="SkImageInfo_MakeN32Premul"></a> 409## MakeN32Premul 410 411<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 412static SkImageInfo MakeN32Premul(int width, int height, sk_sp<SkColorSpace> cs = nullptr) 413</pre> 414 415Sets colortype to <a href="SkImageInfo_Reference#SkColorType">kN32 SkColorType</a>, and the alphatype to premul. 416 417### Parameters 418 419<table> <tr> <td><a name="SkImageInfo_MakeN32Premul_width"> <code><strong>width </strong></code> </a></td> <td> 420incomplete</td> 421 </tr> <tr> <td><a name="SkImageInfo_MakeN32Premul_height"> <code><strong>height </strong></code> </a></td> <td> 422incomplete</td> 423 </tr> <tr> <td><a name="SkImageInfo_MakeN32Premul_cs"> <code><strong>cs </strong></code> </a></td> <td> 424incomplete</td> 425 </tr> 426</table> 427 428### Return Value 429 430incomplete 431 432### Example 433 434<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 435 436### See Also 437 438incomplete 439 440--- 441 442<a name="SkImageInfo_MakeN32Premul_2"></a> 443 444<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 445static SkImageInfo MakeN32Premul(const SkISize& size) 446</pre> 447 448### Parameters 449 450<table> <tr> <td><a name="SkImageInfo_MakeN32Premul_2_size"> <code><strong>size </strong></code> </a></td> <td> 451incomplete</td> 452 </tr> 453</table> 454 455### Return Value 456 457incomplete 458 459### Example 460 461<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 462 463### See Also 464 465incomplete 466 467--- 468 469<a name="SkImageInfo_MakeA8"></a> 470## MakeA8 471 472<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 473static SkImageInfo MakeA8(int width, int height) 474</pre> 475 476### Parameters 477 478<table> <tr> <td><a name="SkImageInfo_MakeA8_width"> <code><strong>width </strong></code> </a></td> <td> 479incomplete</td> 480 </tr> <tr> <td><a name="SkImageInfo_MakeA8_height"> <code><strong>height </strong></code> </a></td> <td> 481incomplete</td> 482 </tr> 483</table> 484 485### Return Value 486 487incomplete 488 489### Example 490 491<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 492 493### See Also 494 495incomplete 496 497--- 498 499<a name="SkImageInfo_MakeUnknown"></a> 500## MakeUnknown 501 502<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 503static SkImageInfo MakeUnknown(int width, int height) 504</pre> 505 506### Parameters 507 508<table> <tr> <td><a name="SkImageInfo_MakeUnknown_width"> <code><strong>width </strong></code> </a></td> <td> 509incomplete</td> 510 </tr> <tr> <td><a name="SkImageInfo_MakeUnknown_height"> <code><strong>height </strong></code> </a></td> <td> 511incomplete</td> 512 </tr> 513</table> 514 515### Return Value 516 517incomplete 518 519### Example 520 521<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 522 523### See Also 524 525incomplete 526 527--- 528 529<a name="SkImageInfo_MakeUnknown_2"></a> 530 531<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 532static SkImageInfo MakeUnknown() 533</pre> 534 535### Return Value 536 537incomplete 538 539### Example 540 541<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 542 543### See Also 544 545incomplete 546 547--- 548 549<a name="SkImageInfo_width"></a> 550## width 551 552<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 553int width() const 554</pre> 555 556### Return Value 557 558incomplete 559 560### Example 561 562<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 563 564### See Also 565 566incomplete 567 568--- 569 570<a name="SkImageInfo_height"></a> 571## height 572 573<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 574int height() const 575</pre> 576 577### Return Value 578 579incomplete 580 581### Example 582 583<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 584 585### See Also 586 587incomplete 588 589--- 590 591<a name="SkImageInfo_colorType"></a> 592## colorType 593 594<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 595SkColorType colorType() const 596</pre> 597 598### Return Value 599 600incomplete 601 602### Example 603 604<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 605 606### See Also 607 608incomplete 609 610--- 611 612<a name="SkImageInfo_alphaType"></a> 613## alphaType 614 615<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 616SkAlphaType alphaType() const 617</pre> 618 619### Return Value 620 621incomplete 622 623### Example 624 625<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 626 627### See Also 628 629incomplete 630 631--- 632 633<a name="SkImageInfo_colorSpace"></a> 634## colorSpace 635 636<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 637SkColorSpace* colorSpace() const 638</pre> 639 640### Return Value 641 642incomplete 643 644### Example 645 646<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 647 648### See Also 649 650incomplete 651 652--- 653 654<a name="SkImageInfo_refColorSpace"></a> 655## refColorSpace 656 657<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 658sk_sp<SkColorSpace> refColorSpace() const 659</pre> 660 661### Return Value 662 663incomplete 664 665### Example 666 667<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 668 669### See Also 670 671incomplete 672 673--- 674 675<a name="SkImageInfo_isEmpty"></a> 676## isEmpty 677 678<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 679bool isEmpty() const 680</pre> 681 682### Return Value 683 684incomplete 685 686### Example 687 688<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 689 690### See Also 691 692incomplete 693 694--- 695 696<a name="SkImageInfo_isOpaque"></a> 697## isOpaque 698 699<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 700bool isOpaque() const 701</pre> 702 703### Return Value 704 705incomplete 706 707### Example 708 709<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 710 711### See Also 712 713incomplete 714 715--- 716 717<a name="SkImageInfo_dimensions"></a> 718## dimensions 719 720<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 721SkISize dimensions() const 722</pre> 723 724### Return Value 725 726incomplete 727 728### Example 729 730<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 731 732### See Also 733 734incomplete 735 736--- 737 738<a name="SkImageInfo_bounds"></a> 739## bounds 740 741<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 742SkIRect bounds() const 743</pre> 744 745### Return Value 746 747incomplete 748 749### Example 750 751<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 752 753### See Also 754 755incomplete 756 757--- 758 759<a name="SkImageInfo_gammaCloseToSRGB"></a> 760## gammaCloseToSRGB 761 762<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 763bool gammaCloseToSRGB() const 764</pre> 765 766### Return Value 767 768incomplete 769 770### Example 771 772<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 773 774### See Also 775 776incomplete 777 778--- 779 780<a name="SkImageInfo_makeWH"></a> 781## makeWH 782 783<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 784SkImageInfo makeWH(int newWidth, int newHeight) const 785</pre> 786 787Creates <a href="SkImageInfo_Reference#Image_Info">Image Info</a> with the same colortype and alphatype as this info, 788but with the specified width and height. 789 790### Parameters 791 792<table> <tr> <td><a name="SkImageInfo_makeWH_newWidth"> <code><strong>newWidth </strong></code> </a></td> <td> 793incomplete</td> 794 </tr> <tr> <td><a name="SkImageInfo_makeWH_newHeight"> <code><strong>newHeight </strong></code> </a></td> <td> 795incomplete</td> 796 </tr> 797</table> 798 799### Return Value 800 801incomplete 802 803### Example 804 805<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 806 807### See Also 808 809incomplete 810 811--- 812 813<a name="SkImageInfo_makeAlphaType"></a> 814## makeAlphaType 815 816<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 817SkImageInfo makeAlphaType(SkAlphaType newAlphaType) const 818</pre> 819 820### Parameters 821 822<table> <tr> <td><a name="SkImageInfo_makeAlphaType_newAlphaType"> <code><strong>newAlphaType </strong></code> </a></td> <td> 823incomplete</td> 824 </tr> 825</table> 826 827### Return Value 828 829incomplete 830 831### Example 832 833<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 834 835### See Also 836 837incomplete 838 839--- 840 841<a name="SkImageInfo_makeColorType"></a> 842## makeColorType 843 844<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 845SkImageInfo makeColorType(SkColorType newColorType) const 846</pre> 847 848### Parameters 849 850<table> <tr> <td><a name="SkImageInfo_makeColorType_newColorType"> <code><strong>newColorType </strong></code> </a></td> <td> 851incomplete</td> 852 </tr> 853</table> 854 855### Return Value 856 857incomplete 858 859### Example 860 861<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 862 863### See Also 864 865incomplete 866 867--- 868 869<a name="SkImageInfo_makeColorSpace"></a> 870## makeColorSpace 871 872<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 873SkImageInfo makeColorSpace(sk_sp<SkColorSpace> cs) const 874</pre> 875 876### Parameters 877 878<table> <tr> <td><a name="SkImageInfo_makeColorSpace_cs"> <code><strong>cs </strong></code> </a></td> <td> 879incomplete</td> 880 </tr> 881</table> 882 883### Return Value 884 885incomplete 886 887### Example 888 889<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 890 891### See Also 892 893incomplete 894 895--- 896 897<a name="SkImageInfo_bytesPerPixel"></a> 898## bytesPerPixel 899 900<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 901int bytesPerPixel() const 902</pre> 903 904### Return Value 905 906incomplete 907 908### Example 909 910<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 911 912### See Also 913 914incomplete 915 916--- 917 918<a name="SkImageInfo_shiftPerPixel"></a> 919## shiftPerPixel 920 921<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 922int shiftPerPixel() const 923</pre> 924 925### Return Value 926 927incomplete 928 929### Example 930 931<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 932 933### See Also 934 935incomplete 936 937--- 938 939<a name="SkImageInfo_minRowBytes64"></a> 940## minRowBytes64 941 942<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 943uint64_t minRowBytes64() const 944</pre> 945 946### Return Value 947 948incomplete 949 950### Example 951 952<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 953 954### See Also 955 956incomplete 957 958--- 959 960<a name="SkImageInfo_minRowBytes"></a> 961## minRowBytes 962 963<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 964size_t minRowBytes() const 965</pre> 966 967### Return Value 968 969incomplete 970 971### Example 972 973<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 974 975### See Also 976 977incomplete 978 979--- 980 981<a name="SkImageInfo_computeOffset"></a> 982## computeOffset 983 984<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 985size_t computeOffset(int x, int y, size_t rowBytes) const 986</pre> 987 988### Parameters 989 990<table> <tr> <td><a name="SkImageInfo_computeOffset_x"> <code><strong>x </strong></code> </a></td> <td> 991incomplete</td> 992 </tr> <tr> <td><a name="SkImageInfo_computeOffset_y"> <code><strong>y </strong></code> </a></td> <td> 993incomplete</td> 994 </tr> <tr> <td><a name="SkImageInfo_computeOffset_rowBytes"> <code><strong>rowBytes </strong></code> </a></td> <td> 995incomplete</td> 996 </tr> 997</table> 998 999### Return Value 1000 1001incomplete 1002 1003### Example 1004 1005<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 1006 1007### See Also 1008 1009incomplete 1010 1011--- 1012 1013<a name="SkImageInfo_equal1_operator"></a> 1014## operator== 1015 1016<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 1017bool operator==(const SkImageInfo& other) _const 1018</pre> 1019 1020### Parameters 1021 1022<table> <tr> <td><a name="SkImageInfo_equal1_operator_other"> <code><strong>other </strong></code> </a></td> <td> 1023incomplete</td> 1024 </tr> 1025</table> 1026 1027### Return Value 1028 1029incomplete 1030 1031### Example 1032 1033<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 1034 1035### See Also 1036 1037incomplete 1038 1039--- 1040 1041<a name="SkImageInfo_notequal1_operator"></a> 1042## operator!= 1043 1044<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 1045bool operator!=(const SkImageInfo& other) _const 1046</pre> 1047 1048### Parameters 1049 1050<table> <tr> <td><a name="SkImageInfo_notequal1_operator_other"> <code><strong>other </strong></code> </a></td> <td> 1051incomplete</td> 1052 </tr> 1053</table> 1054 1055### Return Value 1056 1057incomplete 1058 1059### Example 1060 1061<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 1062 1063### See Also 1064 1065incomplete 1066 1067--- 1068 1069<a name="SkImageInfo_unflatten"></a> 1070## unflatten 1071 1072<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 1073void unflatten(SkReadBuffer& buffer) 1074</pre> 1075 1076### Parameters 1077 1078<table> <tr> <td><a name="SkImageInfo_unflatten_buffer"> <code><strong>buffer </strong></code> </a></td> <td> 1079incomplete</td> 1080 </tr> 1081</table> 1082 1083### Example 1084 1085<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 1086 1087### See Also 1088 1089incomplete 1090 1091--- 1092 1093<a name="SkImageInfo_flatten"></a> 1094## flatten 1095 1096<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 1097void flatten(SkWriteBuffer& buffer) const 1098</pre> 1099 1100### Parameters 1101 1102<table> <tr> <td><a name="SkImageInfo_flatten_buffer"> <code><strong>buffer </strong></code> </a></td> <td> 1103incomplete</td> 1104 </tr> 1105</table> 1106 1107### Example 1108 1109<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 1110 1111### See Also 1112 1113incomplete 1114 1115--- 1116 1117<a name="SkImageInfo_computeByteSize"></a> 1118## computeByteSize 1119 1120<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 1121size_t computeByteSize(size_t rowBytes) const 1122</pre> 1123 1124Returns the size (in bytes) of the image buffer that this info needs, given the specified 1125<a href="#SkImageInfo_computeByteSize_rowBytes">rowBytes</a>. The <a href="#SkImageInfo_computeByteSize_rowBytes">rowBytes</a> must be >= this-><a href="#SkImageInfo_minRowBytes">minRowBytes</a>. 1126if (height == 0) { 1127return 0; 1128} else { 1129return (height - 1) * <a href="#SkImageInfo_computeByteSize_rowBytes">rowBytes</a> + width * bytes_per_pixel. 1130 1131If the calculation overflows this returns <a href="undocumented#SK_MaxSizeT">SK MaxSizeT</a>. 1132 1133### Parameters 1134 1135<table> <tr> <td><a name="SkImageInfo_computeByteSize_rowBytes"> <code><strong>rowBytes </strong></code> </a></td> <td> 1136incomplete</td> 1137 </tr> 1138</table> 1139 1140### Return Value 1141 1142incomplete 1143 1144### Example 1145 1146<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 1147 1148### See Also 1149 1150incomplete 1151 1152--- 1153 1154<a name="SkImageInfo_computeMinByteSize"></a> 1155## computeMinByteSize 1156 1157<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 1158size_t computeMinByteSize() const 1159</pre> 1160 1161Returns the minimum size (in bytes) of the image buffer that this info needs. 1162If the calculation overflows, or if the height is 0, this returns 0. 1163 1164### Return Value 1165 1166incomplete 1167 1168### Example 1169 1170<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 1171 1172### See Also 1173 1174incomplete 1175 1176--- 1177 1178<a name="SkImageInfo_ByteSizeOverflowed"></a> 1179## ByteSizeOverflowed 1180 1181<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 1182static bool ByteSizeOverflowed(size_t byteSize) 1183</pre> 1184 1185Returns true if the result of <a href="#SkImageInfo_computeByteSize">computeByteSize</a> (or <a href="#SkImageInfo_computeMinByteSize">computeMinByteSize</a>) overflowed 1186 1187### Parameters 1188 1189<table> <tr> <td><a name="SkImageInfo_ByteSizeOverflowed_byteSize"> <code><strong>byteSize </strong></code> </a></td> <td> 1190incomplete</td> 1191 </tr> 1192</table> 1193 1194### Return Value 1195 1196incomplete 1197 1198### Example 1199 1200<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 1201 1202### See Also 1203 1204incomplete 1205 1206--- 1207 1208<a name="SkImageInfo_validRowBytes"></a> 1209## validRowBytes 1210 1211<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 1212bool validRowBytes(size_t rowBytes) const 1213</pre> 1214 1215### Parameters 1216 1217<table> <tr> <td><a name="SkImageInfo_validRowBytes_rowBytes"> <code><strong>rowBytes </strong></code> </a></td> <td> 1218incomplete</td> 1219 </tr> 1220</table> 1221 1222### Return Value 1223 1224incomplete 1225 1226### Example 1227 1228<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 1229 1230### See Also 1231 1232incomplete 1233 1234--- 1235 1236<a name="SkImageInfo_reset"></a> 1237## reset 1238 1239<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 1240void reset() 1241</pre> 1242 1243### Example 1244 1245<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 1246 1247### See Also 1248 1249incomplete 1250 1251--- 1252 1253<a name="SkImageInfo_validate"></a> 1254## validate 1255 1256<pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0"> 1257void validate() const 1258</pre> 1259 1260### Example 1261 1262<div><fiddle-embed name="882e8e0103048009a25cfc20400492f7"></fiddle-embed></div> 1263 1264### See Also 1265 1266incomplete 1267 1268--- 1269 1270