1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
\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
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
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
37 <h2>
\83T
\83\93\83v
\83\8b\83R
\81[
\83h</h2>
\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
47 SDL_Surface *surface;
\r
48 SDL_PixelFormat *fmt;
\r
55 /*
\82±
\82±
\82Å
\83T
\81[
\83t
\83F
\83C
\83X
\82ð
\90¶
\90¬
\82·
\82é */
\r
58 fmt=surface->format;
\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
66 /*
\83T
\81[
\83t
\83F
\83C
\83X
\82ð
\83\8d\83b
\83N
\82·
\82é */
\r
67 SDL_LockSurface(surface);
\r
69 /*
\8d¶
\8fã
\82Ì
\8ap
\82Ì
\83s
\83N
\83Z
\83\8b\82ð
\93¾
\82é */
\r
70 index=*(Uint8 *)surface->pixels;
\r
71 color=fmt->palette->colors[index];
\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-> Red: %d, Green: %d, Blue: %d. Index: %d\n",
\r
76 color->r, color->g, color->b, index);
\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
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
93 Uint8 red, green, blue, alpha;
\r
97 fmt = surface->format;
\r
98 SDL_LockSurface(surface);
\r
99 pixel = *((Uint32*)surface->pixels);
\r
100 SDL_UnlockSurface(surface);
\r
102 /*
\90Ô
\90¬
\95ª
\82ð
\93¾
\82é */
\r
103 temp = pixel & fmt->Rmask; /*
\90Ô
\90¬
\95ª
\82ð
\95ª
\97£
\82·
\82é */
\r
104 temp = temp >> fmt->Rshift; /* 8bit
\82Ü
\82Å
\89º
\82ë
\82· */
\r
105 temp = temp << fmt->Rloss; /* 8bit
\83t
\83\8b\82Ü
\82Å
\8ag
\92£
\82·
\82é */
\r
108 /*
\97Î
\90¬
\95ª
\82ð
\93¾
\82é */
\r
109 temp = pixel & fmt->Gmask; /*
\97Î
\90¬
\95ª
\82ð
\95ª
\97£
\82·
\82é */
\r
110 temp = temp >> fmt->Gshift; /* 8bit
\82Ü
\82Å
\89º
\82ë
\82· */
\r
111 temp = temp << fmt->Gloss; /* 8bit
\83t
\83\8b\82Ü
\82Å
\8ag
\92£
\82·
\82é */
\r
112 green = (Uint8)temp;
\r
114 /*
\90Â
\90¬
\95ª
\82ð
\93¾
\82é */
\r
115 temp = pixel & fmt->Bmask; /*
\90Â
\90¬
\95ª
\82ð
\95ª
\97£
\82·
\82é */
\r
116 temp = temp >> fmt->Bshift; /* 8bit
\82Ü
\82Å
\89º
\82ë
\82· */
\r
117 temp = temp << fmt->Bloss; /* 8bit
\83t
\83\8b\82Ü
\82Å
\8ag
\92£
\82·
\82é */
\r
118 blue = (Uint8)temp;
\r
120 /*
\83¿
\90¬
\95ª
\82ð
\93¾
\82é */
\r
121 temp = pixel & fmt->Amask; /*
\83¿
\90¬
\95ª
\82ð
\95ª
\97£
\82·
\82é */
\r
122 temp = temp >> fmt->Ashift; /* 8bit
\82Ü
\82Å
\89º
\82ë
\82· */
\r
123 temp = temp << fmt->Aloss; /* 8bit
\83t
\83\8b\82Ü
\82Å
\8ag
\92£
\82·
\82é */
\r
124 alpha = (Uint8)temp;
\r
126 printf("Pixel Color -> R: %d, G: %d, B: %d, A: %d\n", red, green, blue, alpha);
\r
132 </p><h2>
\8fÚ
\8d×</h2>
\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
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
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
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
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
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
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