• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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&lt;SkColorSpace&gt; 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&lt;SkColorSpace&gt; 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&lt;SkColorSpace&gt; 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&lt;SkColorSpace&gt; 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&lt;SkColorSpace&gt; 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