OSDN Git Service

SDL_HINT_RENDER_DRIVER metalを追加した https://wiki.libsdl.org/SDL_HINT_RENDER_DRIVER...
[sdl2referencejp/sdl2referencejp.git] / SDL_PixelFormat.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r
2 <html lang="ja-JP">\r
3 <head>\r
4 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">\r
5 <meta http-equiv="Content-Style-Type" content="text/css">\r
6 <meta name="keywords" content="Simple Directmedia Layer SDL2.0">\r
7 <link rel="top" href="index.html" title="\83z\81[\83\80">\r
8 <link rel="parent" href="CategorySurface.html" title="1\82Â\8fã">\r
9 <title>SDL_PixelFormat</title>\r
10 </head>\r
11 <body>\r
12 <a href="index.html">\96Ú\8e\9f</a> - <a href="ApiByCategory.html">API(\8b@\94\\95Ê)</a> - <a href="CategoryPixels.html">\83s\83N\83Z\83\8b\8c`\8e®\82Æ\95Ï\8a·</a> - SDL_PixelFormat\r
13 <hr>\r
14 <h1>SDL_PixelFormat</h1>\r
15 \83s\83N\83Z\83\8b\8c`\8e®\82Ì\8fî\95ñ\82Ì\8d\\91¢\91Ì\r
16 <h2>\83t\83B\81[\83\8b\83h</h2>\r
17 <table border="1" summary="SDL_PixelFormat">\r
18 <tr><td>Uint32</td><td>format</td><td><a href="SDL_PixelFormatEnum.html">SDL_PixelFormatEnum</a>\82Ì\92l\82Ì1\82Â</td></tr>\r
19 <tr><td>SDL_Palette*</td><td>palette</td><td>\83s\83N\83Z\83\8b\8c`\8e®\82É\8aÖ\98A\95t\82¯\82ç\82ê\82½<a href="SDL_Palette.html">SDL_Palette</a>\82Ì\94z\97ñ, NULL\82Ì\82Æ\82«\83p\83\8c\83b\83g\82ð\8e\9d\82½\82È\82¢</td></tr>\r
20 <tr><td>Uint8</td><td>BitsPerPixel</td><td>\83s\83N\83Z\83\8b\92l\82Ì\97L\8cø\82È\83r\83b\83g\90\94\97á: 8, 15, 16, 24, 32</td></tr>\r
21 <tr><td>Uint8</td><td>BytesPerPixel</td><td>\83s\83N\83Z\83\8b\92l\82É\95K\97v\82È\83o\83C\83g\90\94\97á: 1, 2, 3, 4 (\8fÚ\8d×\82ð\8eQ\8fÆ\82·\82é\82±\82Æ)</td></tr>\r
22 <tr><td>Uint32</td><td>Rmask</td><td>\83s\83N\83Z\83\8b\82Ì\90Ô\90¬\95ª\82Ì\88Ê\92u\82ð\95\\82·\83}\83X\83N</td></tr>\r
23 <tr><td>Uint32</td><td>Gmask</td><td>\83s\83N\83Z\83\8b\82Ì\97Î\90¬\95ª\82Ì\88Ê\92u\82ð\95\\82·\83}\83X\83N</td></tr>\r
24 <tr><td>Uint32</td><td>Bmask</td><td>\83s\83N\83Z\83\8b\82Ì\90Â\90¬\95ª\82Ì\88Ê\92u\82ð\95\\82·\83}\83X\83N</td></tr>\r
25 <tr><td>Uint32</td><td>Amask</td><td>\83s\83N\83Z\83\8b\82Ì\83¿\90¬\95ª\82Ì\88Ê\92u\82ð\95\\82·\83}\83X\83N. 0\82È\82ç\82Î\83¿\90¬\95ª\82ð\8e\9d\82½\82È\82¢</td></tr>\r
26 <tr><td>Uint8</td><td>Rloss</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
27 <tr><td>Uint8</td><td>Gloss</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
28 <tr><td>Uint8</td><td>Bloss</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
29 <tr><td>Uint8</td><td>Aloss</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
30 <tr><td>Uint8</td><td>RShift</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
31 <tr><td>Uint8</td><td>GShift</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
32 <tr><td>Uint8</td><td>BShift</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
33 <tr><td>Uint8</td><td>AShift</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
34 <tr><td>int</td><td>refcount</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
35 <tr><td>SDL_PixelFormat*</td><td>next</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
36 </table>\r
37 <h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
38 <p>\r
39 8bit\8c`\8e®\82Í\8dÅ\82à\97\9d\89ð\82µ\82â\82·\82¢.\r
40 8bit\8c`\8e®\82Å\82Í, BitsPerPixel\82Í8\82Å, BytesPerPixel\82Í1\82Å\82 \82é.\r
41 BytesPerPixel\82ª1\82È\82Ì\82Å, \91S\82Ä\82Ì\83s\83N\83Z\83\8b\82ÍUint8\82Å\95\\82³\82ê, \82»\82Ì\92l\82Ípalette->colors\82Ì\93Y\82¦\8e\9a\82Å\82 \82é.\r
42 \82æ\82Á\82Ä8bit\83T\81[\83t\83F\83C\83X\82Ì\83s\83N\83Z\83\8b\82Ì\90F\82Í\8e\9f\82Ì\82æ\82¤\82É\93¾\82é:\r
43 surface->pixels\82©\82ç\90F\82Ì\92l\82ð\93¾\82é. \82»\82µ\82Ä\82»\82ê\82ð\93Y\82¦\8e\9a\82Æ\82µ\82Ä<a href="SDL_Color.html">SDL_Color</a>\8d\\91¢\91Ì\82Ìsurface->format->palette->colors\82ð\93Ç\82Þ.\r
44 \88È\89º\82Ì\82æ\82¤\82É\82È\82é:\r
45 <code>\r
46 <pre>\r
47 SDL_Surface *surface;\r
48 SDL_PixelFormat *fmt;\r
49 SDL_Color *color;\r
50 Uint8 index;\r
51 \r
52 .\r
53 .\r
54 \r
55 /* \82±\82±\82Å\83T\81[\83t\83F\83C\83X\82ð\90\90¬\82·\82é */\r
56 .\r
57 .\r
58 fmt=surface->format;\r
59 \r
60 /* \83T\81[\83t\83F\83C\83X\82Ì\83r\83b\83g\90[\93x\82ð\83`\83F\83b\83N\82·\82é */\r
61 if(fmt->BitsPerPixel!=8){\r
62   fprintf(stderr, "8bit\83T\81[\83t\83F\83C\83X\82Å\82Í\82È\82¢\n");\r
63   return(-1);\r
64 }\r
65 \r
66 /* \83T\81[\83t\83F\83C\83X\82ð\83\8d\83b\83N\82·\82é */\r
67 SDL_LockSurface(surface);\r
68 \r
69 /* \8d\8fã\82Ì\8ap\82Ì\83s\83N\83Z\83\8b\82ð\93¾\82é */\r
70 index=*(Uint8 *)surface-&gt;pixels;\r
71 color=fmt-&gt;palette-&gt;colors[index];\r
72 \r
73 /* \83T\81[\83t\83F\83C\83X\82Ì\83\8d\83b\83N\82ð\89ð\8f\9c\82·\82é */\r
74 SDL_UnlockSurface(surface);\r
75 printf("Pixel Color-&gt; Red: %d, Green: %d, Blue: %d. Index: %d\n",\r
76           color-&gt;r, color-&gt;g, color-&gt;b, index);\r
77 .\r
78 .\r
79 </pre>\r
80 </code>\r
81 </p>\r
82 <p>\r
83 8bit\82ð\92´\82¦\82é\83s\83N\83Z\83\8b\82Í\95Ê\82Ì\8dl\82¦\95û\82ª\95K\97v\82É\82È\82é.\r
84 \82»\82ê\82ç\82Í"TrueColor"\8c`\8e®\82Å\82 \82è, \90F\8fî\95ñ\82Í\83p\83\8c\83b\83g\82Å\82Í\82È\82­\83s\83N\83Z\83\8b\8e©\90g\82É\8ai\94[\82³\82ê\82Ä\82¢\82é.\r
85 mask, shift, loss\83t\83B\81[\83\8b\83h\82Å\82Ç\82Ì\82æ\82¤\82É\90F\82ð\83G\83\93\83R\81[\83h\82µ\82Ä\82¢\82é\82©\82í\82©\82é.\r
86 mask\83t\83B\81[\83\8b\83h\82Å\82»\82ê\82¼\82ê\82Ì\90F\90¬\95ª\82ð\95ª\97£\82·\82é\82±\82Æ\82ª\82Å\82«, shift\83t\83B\81[\83\8b\83h\82Í\83s\83N\83Z\83\8b\92l\82Ì\82»\82ê\82¼\82ê\82Ì\90F\90¬\95ª\82ª\89E\82©\82ç\89½\83r\83b\83g\96Ú\82©\82ð\92m\82é\82±\82Æ\82ª\82Å\82«, \82»\82µ\82Äloss\83t\83B\81[\83\8b\83h\82Í\82±\82Ì\83s\83N\83Z\83\8b\92l\82ª8bit\82Ì\90F\90¬\95ª\82É\91Î\82µ\82Ä\89½\83r\83b\83g\8e¸\82í\82ê\82Ä\82¢\82é\82©\82ð\92m\82é\82±\82Æ\82ª\82Å\82«\82é.\r
87 <code>\r
88 <pre>\r
89 /* 32bit\83s\83N\83Z\83\8b\92l\82©\82ç\90F\90¬\95ª\82ð\93¾\82é */\r
90 SDL_PixelFormat *fmt;\r
91 SDL_Surface *surface;\r
92 Uint32 temp, pixel;\r
93 Uint8 red, green, blue, alpha;\r
94 .\r
95 .\r
96 .\r
97 fmt = surface->format;\r
98 SDL_LockSurface(surface);\r
99 pixel = *((Uint32*)surface->pixels);\r
100 SDL_UnlockSurface(surface);\r
101 \r
102 /* \90Ô\90¬\95ª\82ð\93¾\82é */\r
103 temp = pixel &amp; fmt-&gt;Rmask;  /* \90Ô\90¬\95ª\82ð\95ª\97£\82·\82é */\r
104 temp = temp &gt;&gt; fmt->Rshift; /* 8bit\82Ü\82Å\89º\82ë\82· */\r
105 temp = temp &lt;&lt; fmt-&gt;Rloss;  /* 8bit\83t\83\8b\82Ü\82Å\8ag\92£\82·\82é */\r
106 red = (Uint8)temp;\r
107 \r
108 /* \97Î\90¬\95ª\82ð\93¾\82é */\r
109 temp = pixel &amp; fmt-&gt;Gmask;  /* \97Î\90¬\95ª\82ð\95ª\97£\82·\82é */\r
110 temp = temp &gt;&gt; fmt-&gt;Gshift; /* 8bit\82Ü\82Å\89º\82ë\82· */\r
111 temp = temp &lt;&lt; fmt-&gt;Gloss;  /* 8bit\83t\83\8b\82Ü\82Å\8ag\92£\82·\82é */\r
112 green = (Uint8)temp;\r
113 \r
114 /* \90Â\90¬\95ª\82ð\93¾\82é */\r
115 temp = pixel &amp; fmt-&gt;Bmask;  /* \90Â\90¬\95ª\82ð\95ª\97£\82·\82é */\r
116 temp = temp &gt;&gt; fmt-&gt;Bshift; /* 8bit\82Ü\82Å\89º\82ë\82· */\r
117 temp = temp &lt;&lt; fmt-&gt;Bloss;  /* 8bit\83t\83\8b\82Ü\82Å\8ag\92£\82·\82é */\r
118 blue = (Uint8)temp;\r
119 \r
120 /* \83¿\90¬\95ª\82ð\93¾\82é */\r
121 temp = pixel &amp; fmt-&gt;Amask;  /* \83¿\90¬\95ª\82ð\95ª\97£\82·\82é */\r
122 temp = temp &gt;&gt; fmt-&gt;Ashift; /* 8bit\82Ü\82Å\89º\82ë\82· */\r
123 temp = temp &lt;&lt; fmt-&gt;Aloss;  /* 8bit\83t\83\8b\82Ü\82Å\8ag\92£\82·\82é */\r
124 alpha = (Uint8)temp;\r
125 \r
126 printf("Pixel Color -&gt; R: %d,  G: %d,  B: %d,  A: %d\n", red, green, blue, alpha);\r
127 .\r
128 .\r
129 .\r
130 </pre>\r
131 </code>\r
132 </p><h2>\8fÚ\8d×</h2>\r
133 <p>\r
134 \82±\82Ì\8d\\91¢\91Ì\82Ì\83t\83B\81[\83\8b\83h\82Í\91S\82Ä\93Ç\82Ý\8eæ\82è\90ê\97p\82Å\82 \82é.\r
135 </p>\r
136 <p>\r
137 \83s\83N\83Z\83\8b\8c`\8e®\82Í\83p\83\8c\83b\83g\82©\83}\83X\83N\82Ì\82¢\82¸\82ê\82©\82Å\82 \82é.\r
138 \83p\83\8c\83b\83g\82È\82ç\82Î, Rmask, Gmask, Bmask, Amask\82Í\91S\82Ä0\82Å\82 \82é.\r
139 </p>\r
140 <p>\r
141 \83s\83N\83Z\83\8b\82Ì\83o\83C\83g\90\94\82É\91Î\82·\82é\83f\81[\83^\8c^\82Í\88È\89º\82Ì\92Ê\82è\82 \82é.\r
142 <table border="1" summary="">\r
143 <tr><th>1\83s\83N\83Z\83\8b\82 \82½\82è\82Ì\83o\83C\83g\90\94</th><th>\83f\81[\83^\8c^</th></tr>\r
144 <tr><td>1</td><td>Uint8</td></tr>\r
145 <tr><td>2</td><td>Uint16</td></tr>\r
146 <tr><td>3</td><td>3\82Â\82ÌUint8</td></tr>\r
147 <tr><td>4</td><td>Uint32</td></tr>\r
148 </table>\r
149 </p>\r
150 <p>\r
151 <a href="SDL_PixelFormat.html">SDL_PixelFormat</a>\82Í, <a href="SDL_Surface.html">SDL_Surface</a>\82Ìpixels\83t\83B\81[\83\8b\83h\82É\8ai\94[\82³\82ê\82½\83s\83N\83Z\83\8b\82Ì\8c`\8e®\82ð\8bL\8fq\82·\82é.\r
152 \83T\81[\83t\83F\83C\83X\82Ìformat\83t\83B\81[\83\8b\83h\82É\82Í<a href="SDL_PixelFormat.html">SDL_PixelFormat</a>\82ª\8ai\94[\82³\82ê\82Ä\82¢\82é.\r
153 </p>\r
154 <p>\r
155 \83s\83N\83Z\83\8b\82Ì\83\8c\83x\83\8b\82ð\95Ï\82¦\82½\82¢\82È\82ç\82Î, SDL\82ª\82Ç\82Ì\82æ\82¤\82É\90F\8fî\95ñ\82ð\8ai\94[\82µ\82Ä\82¢\82é\82©\82ð\97\9d\89ð\82µ\82È\82¯\82ê\82Î\82È\82ç\82È\82¢.\r
156 \83T\83\93\83v\83\8b\83R\81[\83h\82É\8fÚ\8d×\82È\8fî\95ñ\82ª\82 \82é.\r
157 </p>\r
158 <p>\r
159 \8c»\91ã\93I\82È\83s\83N\83Z\83\8b\90F\8bó\8aÔ\82Ì\8fî\95ñ\82Í\88È\89º\82ÌWikipedia\82Ì\8d\80\96Ú\82É\82 \82é: <a href="http://en.wikipedia.org/wiki/RGBA_color_space">http://en.wikipedia.org/wiki/RGBA_color_space</a>\r
160 </p>\r
161 <h2>\8aÖ\98A\8d\80\96Ú(\8d\\91¢\91Ì)</h2>\r
162 <a href="SDL_Surface.html">SDL_Surface</a><br>\r
163 <h2>\8aÖ\98A\8d\80\96Ú(\8aÖ\90\94)</h2>\r
164 <a href="SDL_ConvertSurface.html">SDL_ConvertSurface</a><br>\r
165 <a href="SDL_GetRGB.html">SDL_GetRGB</a><br>\r
166 <a href="SDL_GetRGBA.html">SDL_GetRGBA</a><br>\r
167 <a href="SDL_MapRGB.html">SDL_MapRGB</a><br>\r
168 <a href="SDL_MapRGBA.html">SDL_MapRGBA</a><br>\r
169 <h2>SDL Wiki\82Ö\82Ì\83\8a\83\93\83N</h2>\r
170 <a href="https://wiki.libsdl.org/SDL_PixelFormat">SDL_PixelFormat - SDL Wiki</a><br>\r
171 <hr>\r
172 </body>\r
173 </html>\r