像素和颜色 - WebGL

Posted

技术标签:

【中文标题】像素和颜色 - WebGL【英文标题】:Pixel and colors - WebGL 【发布时间】:2020-04-22 04:23:44 【问题描述】:

在我开始解释之前,这不是一个编码问题,而是一个学习问题。此外,我已经彻底搜索过,对于我对像素的理解以及它们如何表示颜色,我仍然没有得出任何结论。以下是困扰我的问题: 每个像素使用位。所以我的教科书说 1 位可以代表两种颜色,因为它可以是 0 或 1。(比如说黑色或蓝色) 那么它说一个8位(0000 0000)一共可以代表256种颜色? 第一位:0,1 - 代表 2 种可能的颜色 第二位:0,1 - 2 第三位:0,1 - 2 第四位:0,1 - 2 第五位:0,1 - 2 六位:0,1 - 2 第七位:0,1 - 2 八位:0,1 - 2 因此,一个 8 位与一个组合可以代表总共 16 种颜色,其中每个位代表一种不同的颜色。 因此,如果 256 是可能的组合(而不是颜色)的总数,并且如果每个字节可以表示 16 种不同的颜色,那么我们可以作为输出获得的颜色总数不应该是 256 * 16 = 每个像素有 4096 种可能的颜色? 请帮忙!

【问题讨论】:

【参考方案1】:

1 位可以是 0 或 1 或 2 个可能的值

2位可以是00 01 10 11, 4个可能的值

3位可以是000 001 010 011 100 101 110 111,8个可能的值

直到你达到 8 位,这可以是 256 个可能的值

这是 256 个值的列表以及每个值的位

  0 00000000
  1 00000001
  2 00000010
  3 00000011
  4 00000100
  5 00000101
  6 00000110
  7 00000111
  8 00001000
  9 00001001
 10 00001010
 11 00001011
 12 00001100
 13 00001101
 14 00001110
 15 00001111
 16 00010000
 17 00010001
 18 00010010
 19 00010011
 20 00010100
 21 00010101
 22 00010110
 23 00010111
 24 00011000
 25 00011001
 26 00011010
 27 00011011
 28 00011100
 29 00011101
 30 00011110
 31 00011111
 32 00100000
 33 00100001
 34 00100010
 35 00100011
 36 00100100
 37 00100101
 38 00100110
 39 00100111
 40 00101000
 41 00101001
 42 00101010
 43 00101011
 44 00101100
 45 00101101
 46 00101110
 47 00101111
 48 00110000
 49 00110001
 50 00110010
 51 00110011
 52 00110100
 53 00110101
 54 00110110
 55 00110111
 56 00111000
 57 00111001
 58 00111010
 59 00111011
 60 00111100
 61 00111101
 62 00111110
 63 00111111
 64 01000000
 65 01000001
 66 01000010
 67 01000011
 68 01000100
 69 01000101
 70 01000110
 71 01000111
 72 01001000
 73 01001001
 74 01001010
 75 01001011
 76 01001100
 77 01001101
 78 01001110
 79 01001111
 80 01010000
 81 01010001
 82 01010010
 83 01010011
 84 01010100
 85 01010101
 86 01010110
 87 01010111
 88 01011000
 89 01011001
 90 01011010
 91 01011011
 92 01011100
 93 01011101
 94 01011110
 95 01011111
 96 01100000
 97 01100001
 98 01100010
 99 01100011
100 01100100
101 01100101
102 01100110
103 01100111
104 01101000
105 01101001
106 01101010
107 01101011
108 01101100
109 01101101
110 01101110
111 01101111
112 01110000
113 01110001
114 01110010
115 01110011
116 01110100
117 01110101
118 01110110
119 01110111
120 01111000
121 01111001
122 01111010
123 01111011
124 01111100
125 01111101
126 01111110
127 01111111
128 10000000
129 10000001
130 10000010
131 10000011
132 10000100
133 10000101
134 10000110
135 10000111
136 10001000
137 10001001
138 10001010
139 10001011
140 10001100
141 10001101
142 10001110
143 10001111
144 10010000
145 10010001
146 10010010
147 10010011
148 10010100
149 10010101
150 10010110
151 10010111
152 10011000
153 10011001
154 10011010
155 10011011
156 10011100
157 10011101
158 10011110
159 10011111
160 10100000
161 10100001
162 10100010
163 10100011
164 10100100
165 10100101
166 10100110
167 10100111
168 10101000
169 10101001
170 10101010
171 10101011
172 10101100
173 10101101
174 10101110
175 10101111
176 10110000
177 10110001
178 10110010
179 10110011
180 10110100
181 10110101
182 10110110
183 10110111
184 10111000
185 10111001
186 10111010
187 10111011
188 10111100
189 10111101
190 10111110
191 10111111
192 11000000
193 11000001
194 11000010
195 11000011
196 11000100
197 11000101
198 11000110
199 11000111
200 11001000
201 11001001
202 11001010
203 11001011
204 11001100
205 11001101
206 11001110
207 11001111
208 11010000
209 11010001
210 11010010
211 11010011
212 11010100
213 11010101
214 11010110
215 11010111
216 11011000
217 11011001
218 11011010
219 11011011
220 11011100
221 11011101
222 11011110
223 11011111
224 11100000
225 11100001
226 11100010
227 11100011
228 11100100
229 11100101
230 11100110
231 11100111
232 11101000
233 11101001
234 11101010
235 11101011
236 11101100
237 11101101
238 11101110
239 11101111
240 11110000
241 11110001
242 11110010
243 11110011
244 11110100
245 11110101
246 11110110
247 11110111
248 11111000
249 11111001
250 11111010
251 11111011
252 11111100
253 11111101
254 11111110
255 11111111

【讨论】:

以上是关于像素和颜色 - WebGL的主要内容,如果未能解决你的问题,请参考以下文章

WebGL 帧缓冲区 ClearColor 仅影响 (0,0) 像素

在 webgl 的大纹理中更改 20 到 200 个单独像素的最佳方法?

WebGL - 从渲染缓冲区读取像素数据

有啥方法可以在不使用 getImageData() 的情况下在 JavaScript 中找到像素的颜色?

Webgl 每像素 1 位纹理

WebGL中Stencil Buffer的运用以及ThreeJS的实现