OSDN Git Service

微調整
[sdl2referencejp/sdl2referencejp.git] / SDL_PixelFormat.html
index e34a0df..1979727 100644 (file)
 </head>\r
 <body>\r
 <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
+<hr>\r
 <h1>SDL_PixelFormat</h1>\r
-\83s\83N\83Z\83\8b\8c`\8e®\82Ì\8fî\95ñ\82ð\8e\9d\82Â\8d\\91¢\91Ì\r
+\83s\83N\83Z\83\8b\8c`\8e®\82Ì\8fî\95ñ\82Ì\8d\\91¢\91Ì\r
 <h2>\83t\83B\81[\83\8b\83h</h2>\r
 <table border="1" summary="SDL_PixelFormat">\r
-<tr><td>Uint32</td><td>format</td><td><a href="SDL_PixelFormatEnum.html">SDL_PixelFormatEnum</a>\97ñ\8b\93\91Ì\82Ì\92l\82Ì1\82Â</td></tr>\r
-<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">SDL_Palette</a>\8d\\91¢\91Ì\82Ì\94z\97ñ, NULL\82Ì\82Æ\82«\83p\83\8c\83b\83g\82ð\8e\9d\82½\82È\82¢</td></tr>\r
+<tr><td>Uint32</td><td>format</td><td><a href="SDL_PixelFormatEnum.html">SDL_PixelFormatEnum</a>\82Ì\92l\82Ì1\82Â</td></tr>\r
+<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
 <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
 <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
-<tr><td>Uint32</td><td>Rmask</td><td>\83s\83N\83Z\83\8b\82Ì\90Ô\83`\83\83\83l\83\8b\82Ì\88Ê\92u\82ð\95\\82·\83}\83X\83N</td></tr>\r
-<tr><td>Uint32</td><td>Gmask</td><td>\83s\83N\83Z\83\8b\82Ì\97Î\83`\83\83\83l\83\8b\82Ì\88Ê\92u\82ð\95\\82·\83}\83X\83N</td></tr>\r
-<tr><td>Uint32</td><td>Bmask</td><td>\83s\83N\83Z\83\8b\82Ì\90Â\83`\83\83\83l\83\8b\82Ì\88Ê\92u\82ð\95\\82·\83}\83X\83N</td></tr>\r
-<tr><td>Uint32</td><td>Amask</td><td>\83s\83N\83Z\83\8b\82Ì\83A\83\8b\83t\83@\83`\83\83\83l\83\8b\82Ì\88Ê\92u\82ð\95\\82·\83}\83X\83N. 0\82È\82ç\82Î\83A\83\8b\83t\83@\92l\82ð\8e\9d\82½\82È\82¢</td></tr>\r
+<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
+<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
+<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
+<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
 <tr><td>Uint8</td><td>Rloss</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
 <tr><td>Uint8</td><td>Gloss</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
 <tr><td>Uint8</td><td>Bloss</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
 <tr><td>int</td><td>refcount</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
 <tr><td>SDL_PixelFormat*</td><td>next</td><td>(\93à\95\94\82Å\8eg\97p)</td></tr>\r
 </table>\r
-<h2>\8fÚ\8d×</h2>\r
+<h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
+<p>\r
+8bit\8c`\8e®\82Í\8dÅ\82à\97\9d\89ð\82µ\82â\82·\82¢.\r
+8bit\8c`\8e®\82Å\82Í, BitsPerPixel\82Í8\82Å, BytesPerPixel\82Í1\82Å\82 \82é.\r
+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
+\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
+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
+\88È\89º\82Ì\82æ\82¤\82É\82È\82é:\r
+<code>\r
+<pre>\r
+SDL_Surface *surface;\r
+SDL_PixelFormat *fmt;\r
+SDL_Color *color;\r
+Uint8 index;\r
+\r
+.\r
+.\r
+\r
+/* \82±\82±\82Å\83T\81[\83t\83F\83C\83X\82ð\90\90¬\82·\82é */\r
+.\r
+.\r
+fmt=surface->format;\r
+\r
+/* \83T\81[\83t\83F\83C\83X\82Ì\83r\83b\83g\90[\93x\82ð\83`\83F\83b\83N\82·\82é */\r
+if(fmt->BitsPerPixel!=8){\r
+  fprintf(stderr, "8bit\83T\81[\83t\83F\83C\83X\82Å\82Í\82È\82¢\n");\r
+  return(-1);\r
+}\r
+\r
+/* \83T\81[\83t\83F\83C\83X\82ð\83\8d\83b\83N\82·\82é */\r
+SDL_LockSurface(surface);\r
+\r
+/* \8d\8fã\82Ì\8ap\82Ì\83s\83N\83Z\83\8b\82ð\93¾\82é */\r
+index=*(Uint8 *)surface-&gt;pixels;\r
+color=fmt-&gt;palette-&gt;colors[index];\r
+\r
+/* \83T\81[\83t\83F\83C\83X\82Ì\83\8d\83b\83N\82ð\89ð\8f\9c\82·\82é */\r
+SDL_UnlockSurface(surface);\r
+printf("Pixel Color-&gt; Red: %d, Green: %d, Blue: %d. Index: %d\n",\r
+          color-&gt;r, color-&gt;g, color-&gt;b, index);\r
+.\r
+.\r
+</pre>\r
+</code>\r
+</p>\r
+<p>\r
+8bit\82ð\92´\82¦\82é\83s\83N\83Z\83\8b\82Í\95Ê\82Ì\8dl\82¦\95û\82ª\95K\97v\82É\82È\82é.\r
+\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
+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
+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
+<code>\r
+<pre>\r
+/* 32bit\83s\83N\83Z\83\8b\92l\82©\82ç\90F\90¬\95ª\82ð\93¾\82é */\r
+SDL_PixelFormat *fmt;\r
+SDL_Surface *surface;\r
+Uint32 temp, pixel;\r
+Uint8 red, green, blue, alpha;\r
+.\r
+.\r
+.\r
+fmt = surface->format;\r
+SDL_LockSurface(surface);\r
+pixel = *((Uint32*)surface->pixels);\r
+SDL_UnlockSurface(surface);\r
+\r
+/* \90Ô\90¬\95ª\82ð\93¾\82é */\r
+temp = pixel &amp; fmt-&gt;Rmask;  /* \90Ô\90¬\95ª\82ð\95ª\97£\82·\82é */\r
+temp = temp &gt;&gt; fmt->Rshift; /* 8bit\82Ü\82Å\89º\82ë\82· */\r
+temp = temp &lt;&lt; fmt-&gt;Rloss;  /* 8bit\83t\83\8b\82Ü\82Å\8ag\92£\82·\82é */\r
+red = (Uint8)temp;\r
+\r
+/* \97Î\90¬\95ª\82ð\93¾\82é */\r
+temp = pixel &amp; fmt-&gt;Gmask;  /* \97Î\90¬\95ª\82ð\95ª\97£\82·\82é */\r
+temp = temp &gt;&gt; fmt-&gt;Gshift; /* 8bit\82Ü\82Å\89º\82ë\82· */\r
+temp = temp &lt;&lt; fmt-&gt;Gloss;  /* 8bit\83t\83\8b\82Ü\82Å\8ag\92£\82·\82é */\r
+green = (Uint8)temp;\r
+\r
+/* \90Â\90¬\95ª\82ð\93¾\82é */\r
+temp = pixel &amp; fmt-&gt;Bmask;  /* \90Â\90¬\95ª\82ð\95ª\97£\82·\82é */\r
+temp = temp &gt;&gt; fmt-&gt;Bshift; /* 8bit\82Ü\82Å\89º\82ë\82· */\r
+temp = temp &lt;&lt; fmt-&gt;Bloss;  /* 8bit\83t\83\8b\82Ü\82Å\8ag\92£\82·\82é */\r
+blue = (Uint8)temp;\r
+\r
+/* \83¿\90¬\95ª\82ð\93¾\82é */\r
+temp = pixel &amp; fmt-&gt;Amask;  /* \83¿\90¬\95ª\82ð\95ª\97£\82·\82é */\r
+temp = temp &gt;&gt; fmt-&gt;Ashift; /* 8bit\82Ü\82Å\89º\82ë\82· */\r
+temp = temp &lt;&lt; fmt-&gt;Aloss;  /* 8bit\83t\83\8b\82Ü\82Å\8ag\92£\82·\82é */\r
+alpha = (Uint8)temp;\r
+\r
+printf("Pixel Color -&gt; R: %d,  G: %d,  B: %d,  A: %d\n", red, green, blue, alpha);\r
+.\r
+.\r
+.\r
+</pre>\r
+</code>\r
+</p><h2>\8fÚ\8d×</h2>\r
 <p>\r
 \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
 </p>\r
 </table>\r
 </p>\r
 <p>\r
-<a href="SDL_PixelFormat.html">SDL_PixelFormat</a>\8d\\91¢\91Ì\82Í, <a href="SDL_Surface">SDL_Surface</a>\8d\\91¢\91Ì\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
+<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
 \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
 </p>\r
 <p>\r
 \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
-<a href="https://wiki.libsdl.org/SDL_PixelFormat#Code_Examples">\83T\83\93\83v\83\8b\83R\81[\83h</a>\82É\8fÚ\8d×\82È\8fî\95ñ\82ª\82 \82é.\r
+\83T\83\93\83v\83\8b\83R\81[\83h\82É\8fÚ\8d×\82È\8fî\95ñ\82ª\82 \82é.\r
 </p>\r
 <p>\r
 \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
 <a href="SDL_MapRGBA.html">SDL_MapRGBA</a><br>\r
 <h2>SDL Wiki\82Ö\82Ì\83\8a\83\93\83N</h2>\r
 <a href="https://wiki.libsdl.org/SDL_PixelFormat">SDL_PixelFormat - SDL Wiki</a><br>\r
+<hr>\r
 </body>\r
 </html>\r