Sign in Join
Wiki copytemporary

BGRABitmap Pixel types/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: BGRABitmap Pixel types/ru

OldNewLine
1+Список типов пикселей и функций библиотеки [[BGRABitmap]]. Они предоставляются модулем *BGRABitmapTypes*.
2+
3+### Типы пикселей и функции
4+
5+<table style="border-collapse: collapse;">
6+
7+<tr style="background: white;">
8+
9+<td colspan="3">
10+
11+*PBGRAPixel* = ^TBGRAPixel;
12+
13+</td>
14+
15+</tr>
16+
17+<tr style="background: white;">
18+
19+<td width="10%">
20+
21+</td>
22+
23+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
24+
25+Указатель для прямого доступа к пикселям. Данные хранятся в виде последовательности *TBGRAPixel*. См. [[BGRABitmap tutorial 4]]
26+
27+</td>
28+
29+</tr>
30+
31+<tr style="height: 8px;">
32+
33+<td colspan="3">
34+
35+</td>
36+
37+</tr>
38+
39+<tr style="background: #f0f0ff;">
40+
41+<td colspan="3">
42+
43+*TBGRAPixel* = **packed** **record** blue, green, red, alpha: byte;
44+
45+</td>
46+
47+</tr>
48+
49+<tr style="background: #f0f0ff;">
50+
51+<td width="10%">
52+
53+</td>
54+
55+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
56+
57+Каждый пиксель представляет собой последовательность из 4 байтов, содержащую синий, зеленый, красный и альфа-канал. Диапазон значений от 0 до 255, цвет в цветовом пространстве sRGB. Альфа-значение: 0 - прозрачно, 255 - непрозрачно. В растровых данных, когда пиксель полностью прозрачен, значения RGB должны быть установлены на ноль.
58+
59+</td>
60+
61+</tr>
62+
63+<tr style="height: 8px;">
64+
65+<td colspan="3">
66+
67+</td>
68+
69+</tr>
70+
71+<tr>
72+
73+<td width="10%">
74+
75+</td>
76+
77+<td colspan="2" style="background: white;">
78+
79+**function** BGRA(red, green, blue, alpha: byte): TBGRAPixel; **overload**; **inline**;
80+
81+</td>
82+
83+</tr>
84+
85+<tr>
86+
87+<td width="10%">
88+
89+</td>
90+
91+<td width="10%" style="background: white;">
92+
93+</td>
94+
95+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
96+
97+Создает пиксель с заданными значениями RGBA
98+
99+</td>
100+
101+</tr>
102+
103+<tr style="height: 8px;">
104+
105+<td colspan="3">
106+
107+</td>
108+
109+</tr>
110+
111+<tr>
112+
113+<td width="10%">
114+
115+</td>
116+
117+<td colspan="2" style="background: #f0f0ff;">
118+
119+**function** BGRA(red, green, blue: byte): TBGRAPixel; **overload**; **inline**;
120+
121+</td>
122+
123+</tr>
124+
125+<tr>
126+
127+<td width="10%">
128+
129+</td>
130+
131+<td width="10%" style="background: #f0f0ff;">
132+
133+</td>
134+
135+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
136+
137+Создает непрозрачный пиксель с заданными значениями RGB
138+
139+</td>
140+
141+</tr>
142+
143+<tr style="height: 8px;">
144+
145+<td colspan="3">
146+
147+</td>
148+
149+</tr>
150+
151+<tr>
152+
153+<td width="10%">
154+
155+</td>
156+
157+<td colspan="2" style="background: white;">
158+
159+**operator** = (**const** c1, c2: TBGRAPixel): boolean; **inline**;
160+
161+</td>
162+
163+</tr>
164+
165+<tr>
166+
167+<td width="10%">
168+
169+</td>
170+
171+<td width="10%" style="background: white;">
172+
173+</td>
174+
175+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
176+
177+Проверяет, равны ли два пикселя. Если они оба прозрачны, значения RGB игнорируются
178+
179+</td>
180+
181+</tr>
182+
183+<tr style="height: 8px;">
184+
185+<td colspan="3">
186+
187+</td>
188+
189+</tr>
190+
191+<tr>
192+
193+<td width="10%">
194+
195+</td>
196+
197+<td colspan="2" style="background: #f0f0ff;">
198+
199+**function** GetIntensity(c: TBGRAPixel): word; **inline**;
200+
201+</td>
202+
203+</tr>
204+
205+<tr>
206+
207+<td width="10%">
208+
209+</td>
210+
211+<td width="10%" style="background: #f0f0ff;">
212+
213+</td>
214+
215+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
216+
217+Возвращает интенсивность пикселя. Интенсивность - это максимальное значение, достигаемое любым компонентом
218+
219+</td>
220+
221+</tr>
222+
223+<tr style="height: 8px;">
224+
225+<td colspan="3">
226+
227+</td>
228+
229+</tr>
230+
231+<tr>
232+
233+<td width="10%">
234+
235+</td>
236+
237+<td colspan="2" style="background: white;">
238+
239+**function** SetIntensity(c: TBGRAPixel; intensity: word): TBGRAPixel;
240+
241+</td>
242+
243+</tr>
244+
245+<tr>
246+
247+<td width="10%">
248+
249+</td>
250+
251+<td width="10%" style="background: white;">
252+
253+</td>
254+
255+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
256+
257+Устанавливает интенсивность пикселя
258+
259+</td>
260+
261+</tr>
262+
263+<tr style="height: 8px;">
264+
265+<td colspan="3">
266+
267+</td>
268+
269+</tr>
270+
271+<tr>
272+
273+<td width="10%">
274+
275+</td>
276+
277+<td colspan="2" style="background: #f0f0ff;">
278+
279+**function** GetLightness(c: TBGRAPixel): word;
280+
281+</td>
282+
283+</tr>
284+
285+<tr>
286+
287+<td width="10%">
288+
289+</td>
290+
291+<td width="10%" style="background: #f0f0ff;">
292+
293+</td>
294+
295+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
296+
297+Возвращает свечение пикселя. Свечение - это воспринимаемая яркость, 0 - черный, а 65535 - белый.
298+
299+</td>
300+
301+</tr>
302+
303+<tr style="height: 8px;">
304+
305+<td colspan="3">
306+
307+</td>
308+
309+</tr>
310+
311+<tr>
312+
313+<td width="10%">
314+
315+</td>
316+
317+<td colspan="2" style="background: white;">
318+
319+**function** SetLightness(c: TBGRAPixel; lightness: word): TBGRAPixel;
320+
321+</td>
322+
323+</tr>
324+
325+<tr>
326+
327+<td width="10%">
328+
329+</td>
330+
331+<td width="10%" style="background: white;">
332+
333+</td>
334+
335+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
336+
337+Возвращает свечение пикселя
338+
339+</td>
340+
341+</tr>
342+
343+<tr style="height: 8px;">
344+
345+<td colspan="3">
346+
347+</td>
348+
349+</tr>
350+
351+<tr>
352+
353+<td width="10%">
354+
355+</td>
356+
357+<td colspan="2" style="background: #f0f0ff;">
358+
359+**function** ApplyLightnessFast(color: TBGRAPixel; lightness: word): TBGRAPixel; **inline**;
360+
361+</td>
362+
363+</tr>
364+
365+<tr>
366+
367+<td width="10%">
368+
369+</td>
370+
371+<td width="10%" style="background: #f0f0ff;">
372+
373+</td>
374+
375+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
376+
377+Быстро устанавливает свечение, уменьшая в сторону черного, если *lightness* меньше 32768, и уменьшая в сторону белого, если *lightness* больше 32768
378+
379+</td>
380+
381+</tr>
382+
383+<tr style="height: 8px;">
384+
385+<td colspan="3">
386+
387+</td>
388+
389+</tr>
390+
391+<tr>
392+
393+<td width="10%">
394+
395+</td>
396+
397+<td colspan="2" style="background: white;">
398+
399+**function** ApplyIntensityFast(color: TBGRAPixel; lightness: longword): TBGRAPixel;
400+
401+</td>
402+
403+</tr>
404+
405+<tr>
406+
407+<td width="10%">
408+
409+</td>
410+
411+<td width="10%" style="background: white;">
412+
413+</td>
414+
415+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
416+
417+Быстро устанавливает интенсивность, уменьшая в сторону черного, если *lightness* меньше 32768, и умножая все составляющие, если *lightness* больше 32768. В случае насыщения, она исчезает в сторону белого
418+
419+</td>
420+
421+</tr>
422+
423+<tr style="height: 8px;">
424+
425+<td colspan="3">
426+
427+</td>
428+
429+</tr>
430+
431+<tr>
432+
433+<td width="10%">
434+
435+</td>
436+
437+<td colspan="2" style="background: #f0f0ff;">
438+
439+**function** CombineLightness(lightness1,lightness2: Int32or64): Int32or64;
440+
441+</td>
442+
443+</tr>
444+
445+<tr>
446+
447+<td width="10%">
448+
449+</td>
450+
451+<td width="10%" style="background: #f0f0ff;">
452+
453+</td>
454+
455+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
456+
457+Объединяет две яркости вместе. Значение 32768 является нейтральным. Результат может превысить 65535
458+
459+</td>
460+
461+</tr>
462+
463+<tr style="height: 8px;">
464+
465+<td colspan="3">
466+
467+</td>
468+
469+</tr>
470+
471+<tr>
472+
473+<td width="10%">
474+
475+</td>
476+
477+<td colspan="2" style="background: white;">
478+
479+**function** BGRAToGrayscale(c: TBGRAPixel): TBGRAPixel;
480+
481+</td>
482+
483+</tr>
484+
485+<tr>
486+
487+<td width="10%">
488+
489+</td>
490+
491+<td width="10%" style="background: white;">
492+
493+</td>
494+
495+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
496+
497+Преобразует цвет в оттенки серого
498+
499+</td>
500+
501+</tr>
502+
503+<tr style="height: 8px;">
504+
505+<td colspan="3">
506+
507+</td>
508+
509+</tr>
510+
511+<tr>
512+
513+<td width="10%">
514+
515+</td>
516+
517+<td colspan="2" style="background: #f0f0ff;">
518+
519+**function** GrayscaleToBGRA(lightness: word): TBGRAPixel;
520+
521+</td>
522+
523+</tr>
524+
525+<tr>
526+
527+<td width="10%">
528+
529+</td>
530+
531+<td width="10%" style="background: #f0f0ff;">
532+
533+</td>
534+
535+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
536+
537+Создает серый цвет с заданной *яркостью*
538+
539+</td>
540+
541+</tr>
542+
543+<tr style="height: 8px;">
544+
545+<td colspan="3">
546+
547+</td>
548+
549+</tr>
550+
551+<tr>
552+
553+<td width="10%">
554+
555+</td>
556+
557+<td colspan="2" style="background: white;">
558+
559+**function** MergeBGRA(c1, c2: TBGRAPixel): TBGRAPixel; **overload**;
560+
561+</td>
562+
563+</tr>
564+
565+<tr>
566+
567+<td width="10%">
568+
569+</td>
570+
571+<td width="10%" style="background: white;">
572+
573+</td>
574+
575+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
576+
577+Слияние двух цветов без гамма-коррекции
578+
579+</td>
580+
581+</tr>
582+
583+<tr style="height: 8px;">
584+
585+<td colspan="3">
586+
587+</td>
588+
589+</tr>
590+
591+<tr>
592+
593+<td width="10%">
594+
595+</td>
596+
597+<td colspan="2" style="background: #f0f0ff;">
598+
599+**function** MergeBGRA(c1: TBGRAPixel; weight1: integer; c2: TBGRAPixel; weight2: integer): TBGRAPixel; **overload**;
600+
601+</td>
602+
603+</tr>
604+
605+<tr>
606+
607+<td width="10%">
608+
609+</td>
610+
611+<td width="10%" style="background: #f0f0ff;">
612+
613+</td>
614+
615+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
616+
617+Слияние двух цветов без гамма-коррекции. *weight1* и *weight2* указывает на вес цветового барицентра
618+
619+</td>
620+
621+</tr>
622+
623+<tr style="height: 8px;">
624+
625+<td colspan="3">
626+
627+</td>
628+
629+</tr>
630+
631+<tr>
632+
633+<td width="10%">
634+
635+</td>
636+
637+<td colspan="2" style="background: white;">
638+
639+**function** MergeBGRAWithGammaCorrection(c1: TBGRAPixel; weight1: byte; c2: TBGRAPixel; weight2: byte): TBGRAPixel;
640+
641+</td>
642+
643+</tr>
644+
645+<tr>
646+
647+<td width="10%">
648+
649+</td>
650+
651+<td width="10%" style="background: white;">
652+
653+</td>
654+
655+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
656+
657+Слияние двух цветов с гамма-коррекцией. *weight1* и *weight2* указывает на вес цветового барицентра
658+
659+</td>
660+
661+</tr>
662+
663+<tr style="height: 8px;">
664+
665+<td colspan="3">
666+
667+</td>
668+
669+</tr>
670+
671+<tr>
672+
673+<td width="10%">
674+
675+</td>
676+
677+<td colspan="2" style="background: #f0f0ff;">
678+
679+**function** ColorToBGRA(color: TColor): TBGRAPixel; **overload**;
680+
681+</td>
682+
683+</tr>
684+
685+<tr>
686+
687+<td width="10%">
688+
689+</td>
690+
691+<td width="10%" style="background: #f0f0ff;">
692+
693+</td>
694+
695+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
696+
697+Преобразует значение *TColor* в непрозрачный пиксель
698+
699+</td>
700+
701+</tr>
702+
703+<tr style="height: 8px;">
704+
705+<td colspan="3">
706+
707+</td>
708+
709+</tr>
710+
711+<tr>
712+
713+<td width="10%">
714+
715+</td>
716+
717+<td colspan="2" style="background: white;">
718+
719+**function** ColorToBGRA(color: TColor; opacity: byte): TBGRAPixel; **overload**;
720+
721+</td>
722+
723+</tr>
724+
725+<tr>
726+
727+<td width="10%">
728+
729+</td>
730+
731+<td width="10%" style="background: white;">
732+
733+</td>
734+
735+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
736+
737+Преобразует значение *TColor* в пиксель с заданной *непрозрачностью*
738+
739+</td>
740+
741+</tr>
742+
743+<tr style="height: 8px;">
744+
745+<td colspan="3">
746+
747+</td>
748+
749+</tr>
750+
751+<tr>
752+
753+<td width="10%">
754+
755+</td>
756+
757+<td colspan="2" style="background: #f0f0ff;">
758+
759+**function** BGRAToColor(c: TBGRAPixel): TColor;
760+
761+</td>
762+
763+</tr>
764+
765+<tr>
766+
767+<td width="10%">
768+
769+</td>
770+
771+<td width="10%" style="background: #f0f0ff;">
772+
773+</td>
774+
775+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
776+
777+Преобразует пиксель в значение *TColor*, отбрасывая значение альфа
778+
779+</td>
780+
781+</tr>
782+
783+<tr style="height: 8px;">
784+
785+<td colspan="3">
786+
787+</td>
788+
789+</tr>
790+
791+<tr>
792+
793+<td width="10%">
794+
795+</td>
796+
797+<td colspan="2" style="background: white;">
798+
799+**function** FPColorToBGRA(AValue: TFPColor): TBGRAPixel;
800+
801+</td>
802+
803+</tr>
804+
805+<tr>
806+
807+<td width="10%">
808+
809+</td>
810+
811+<td width="10%" style="background: white;">
812+
813+</td>
814+
815+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
816+
817+Преобразует значение *TFPColor* в пиксель. Обратите внимание, что даже если *TFPColor* имеет 16-битные значения, они не считаются расширенной гаммой
818+
819+</td>
820+
821+</tr>
822+
823+<tr style="height: 8px;">
824+
825+<td colspan="3">
826+
827+</td>
828+
829+</tr>
830+
831+<tr>
832+
833+<td width="10%">
834+
835+</td>
836+
837+<td colspan="2" style="background: #f0f0ff;">
838+
839+**function** BGRAToFPColor(AValue: TBGRAPixel): TFPColor; **inline**;
840+
841+</td>
842+
843+</tr>
844+
845+<tr>
846+
847+<td width="10%">
848+
849+</td>
850+
851+<td width="10%" style="background: #f0f0ff;">
852+
853+</td>
854+
855+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
856+
857+Преобразует пиксель в *TFPColor*
858+
859+</td>
860+
861+</tr>
862+
863+<tr style="height: 8px;">
864+
865+<td colspan="3">
866+
867+</td>
868+
869+</tr>
870+
871+<tr>
872+
873+<td width="10%">
874+
875+</td>
876+
877+<td colspan="2" style="background: white;">
878+
879+**function** BGRAWordDiff(c1, c2: TBGRAPixel): word;
880+
881+</td>
882+
883+</tr>
884+
885+<tr>
886+
887+<td width="10%">
888+
889+</td>
890+
891+<td width="10%" style="background: white;">
892+
893+</td>
894+
895+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
896+
897+Вычисляет разницу (с гамма-коррекцией) между двумя пикселями с учетом всех размеров, включая прозрачность. Результат варьирует от 0 до 65535
898+
899+</td>
900+
901+</tr>
902+
903+<tr style="height: 8px;">
904+
905+<td colspan="3">
906+
907+</td>
908+
909+</tr>
910+
911+<tr>
912+
913+<td width="10%">
914+
915+</td>
916+
917+<td colspan="2" style="background: #f0f0ff;">
918+
919+**function** BGRADiff(c1, c2: TBGRAPixel): byte;
920+
921+</td>
922+
923+</tr>
924+
925+<tr>
926+
927+<td width="10%">
928+
929+</td>
930+
931+<td width="10%" style="background: #f0f0ff;">
932+
933+</td>
934+
935+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
936+
937+Вычисляет разницу (с гамма-коррекцией) между двумя пикселями с учетом всех размеров, включая прозрачность. Результат варьирует от 0 до 255
938+
939+</td>
940+
941+</tr>
942+
943+<tr style="height: 8px;">
944+
945+<td colspan="3">
946+
947+</td>
948+
949+</tr>
950+
951+<tr style="background: white;">
952+
953+<td colspan="3">
954+
955+*ArrayOfTBGRAPixel* = **array** **of** TBGRAPixel;
956+
957+</td>
958+
959+</tr>
960+
961+<tr style="background: white;">
962+
963+<td width="10%">
964+
965+</td>
966+
967+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
968+
969+Массив пикселей
970+
971+</td>
972+
973+</tr>
974+
975+<tr style="height: 8px;">
976+
977+<td colspan="3">
978+
979+</td>
980+
981+</tr>
982+
983+<tr>
984+
985+<td width="10%">
986+
987+</td>
988+
989+<td colspan="2" style="background: #f0f0ff;">
990+
991+**function** MergeBGRA(**const** colors: **array** **of** TBGRAPixel): TBGRAPixel; **overload**;
992+
993+</td>
994+
995+</tr>
996+
997+<tr>
998+
999+<td width="10%">
1000+
1001+</td>
1002+
1003+<td width="10%" style="background: #f0f0ff;">
1004+
1005+</td>
1006+
1007+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1008+
1009+Объединяет данные цвета без гамма-коррекции
1010+
1011+</td>
1012+
1013+</tr>
1014+
1015+<tr style="height: 8px;">
1016+
1017+<td colspan="3">
1018+
1019+</td>
1020+
1021+</tr>
1022+
1023+<tr style="background: white;">
1024+
1025+<td colspan="3">
1026+
1027+*TExpandedPixel* = **packed** **record** red, green, blue, alpha: word;
1028+
1029+</td>
1030+
1031+</tr>
1032+
1033+<tr style="background: white;">
1034+
1035+<td width="10%">
1036+
1037+</td>
1038+
1039+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
1040+
1041+Хранит гамму расширенного цвета RGB. Диапазон значений от 0 до 65535
1042+
1043+</td>
1044+
1045+</tr>
1046+
1047+<tr style="height: 8px;">
1048+
1049+<td colspan="3">
1050+
1051+</td>
1052+
1053+</tr>
1054+
1055+<tr>
1056+
1057+<td width="10%">
1058+
1059+</td>
1060+
1061+<td colspan="2" style="background: #f0f0ff;">
1062+
1063+**function** GammaExpansion(c: TBGRAPixel): TExpandedPixel; **inline**;
1064+
1065+</td>
1066+
1067+</tr>
1068+
1069+<tr>
1070+
1071+<td width="10%">
1072+
1073+</td>
1074+
1075+<td width="10%" style="background: #f0f0ff;">
1076+
1077+</td>
1078+
1079+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1080+
1081+Преобразует пиксель из sRGB в расширенную гамму RGB
1082+
1083+</td>
1084+
1085+</tr>
1086+
1087+<tr style="height: 8px;">
1088+
1089+<td colspan="3">
1090+
1091+</td>
1092+
1093+</tr>
1094+
1095+<tr>
1096+
1097+<td width="10%">
1098+
1099+</td>
1100+
1101+<td colspan="2" style="background: white;">
1102+
1103+**function** GammaCompression(**const** ec: TExpandedPixel): TBGRAPixel; **inline**;
1104+
1105+</td>
1106+
1107+</tr>
1108+
1109+<tr>
1110+
1111+<td width="10%">
1112+
1113+</td>
1114+
1115+<td width="10%" style="background: white;">
1116+
1117+</td>
1118+
1119+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1120+
1121+Преобразует пиксель из гамма-развернутого RGB в sRGB
1122+
1123+</td>
1124+
1125+</tr>
1126+
1127+<tr style="height: 8px;">
1128+
1129+<td colspan="3">
1130+
1131+</td>
1132+
1133+</tr>
1134+
1135+<tr>
1136+
1137+<td width="10%">
1138+
1139+</td>
1140+
1141+<td colspan="2" style="background: #f0f0ff;">
1142+
1143+**function** GammaCompression(red,green,blue,alpha: word): TBGRAPixel; **inline**;
1144+
1145+</td>
1146+
1147+</tr>
1148+
1149+<tr>
1150+
1151+<td width="10%">
1152+
1153+</td>
1154+
1155+<td width="10%" style="background: #f0f0ff;">
1156+
1157+</td>
1158+
1159+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1160+
1161+Преобразует пиксель из гамма-развернутого RGB в sRGB
1162+
1163+</td>
1164+
1165+</tr>
1166+
1167+<tr style="height: 8px;">
1168+
1169+<td colspan="3">
1170+
1171+</td>
1172+
1173+</tr>
1174+
1175+<tr>
1176+
1177+<td width="10%">
1178+
1179+</td>
1180+
1181+<td colspan="2" style="background: white;">
1182+
1183+**function** GetIntensity(**const** c: TExpandedPixel): word; **inline**;
1184+
1185+</td>
1186+
1187+</tr>
1188+
1189+<tr>
1190+
1191+<td width="10%">
1192+
1193+</td>
1194+
1195+<td width="10%" style="background: white;">
1196+
1197+</td>
1198+
1199+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1200+
1201+Возвращает интенсивность гамма-расширенного пикселя. Интенсивность - это максимальное значение, достигаемое любым компонентом
1202+
1203+</td>
1204+
1205+</tr>
1206+
1207+<tr style="height: 8px;">
1208+
1209+<td colspan="3">
1210+
1211+</td>
1212+
1213+</tr>
1214+
1215+<tr>
1216+
1217+<td width="10%">
1218+
1219+</td>
1220+
1221+<td colspan="2" style="background: #f0f0ff;">
1222+
1223+**function** SetIntensity(**const** c: TExpandedPixel; intensity: word): TExpandedPixel;
1224+
1225+</td>
1226+
1227+</tr>
1228+
1229+<tr>
1230+
1231+<td width="10%">
1232+
1233+</td>
1234+
1235+<td width="10%" style="background: #f0f0ff;">
1236+
1237+</td>
1238+
1239+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1240+
1241+Устанавливает интенсивность гамма-расширенного пикселя
1242+
1243+</td>
1244+
1245+</tr>
1246+
1247+<tr style="height: 8px;">
1248+
1249+<td colspan="3">
1250+
1251+</td>
1252+
1253+</tr>
1254+
1255+<tr>
1256+
1257+<td width="10%">
1258+
1259+</td>
1260+
1261+<td colspan="2" style="background: white;">
1262+
1263+**function** GetLightness(**const** c: TExpandedPixel): word; **inline**;
1264+
1265+</td>
1266+
1267+</tr>
1268+
1269+<tr>
1270+
1271+<td width="10%">
1272+
1273+</td>
1274+
1275+<td width="10%" style="background: white;">
1276+
1277+</td>
1278+
1279+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1280+
1281+Возвращает яркость гамма-расширенного пикселя. lightness - это воспринимаемая яркость, 0 - черный, а 65535 - белый.
1282+
1283+</td>
1284+
1285+</tr>
1286+
1287+<tr style="height: 8px;">
1288+
1289+<td colspan="3">
1290+
1291+</td>
1292+
1293+</tr>
1294+
1295+<tr>
1296+
1297+<td width="10%">
1298+
1299+</td>
1300+
1301+<td colspan="2" style="background: #f0f0ff;">
1302+
1303+**function** SetLightness(**const** c: TExpandedPixel; lightness: word): TExpandedPixel;
1304+
1305+</td>
1306+
1307+</tr>
1308+
1309+<tr>
1310+
1311+<td width="10%">
1312+
1313+</td>
1314+
1315+<td width="10%" style="background: #f0f0ff;">
1316+
1317+</td>
1318+
1319+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1320+
1321+Устанавливает яркость гамма-развернутого пикселя
1322+
1323+</td>
1324+
1325+</tr>
1326+
1327+<tr style="height: 8px;">
1328+
1329+<td colspan="3">
1330+
1331+</td>
1332+
1333+</tr>
1334+
1335+<tr>
1336+
1337+<td width="10%">
1338+
1339+</td>
1340+
1341+<td colspan="2" style="background: white;">
1342+
1343+**function** SetLightness(**const** c: TExpandedPixel; lightness: word; curLightness: word): TExpandedPixel;
1344+
1345+</td>
1346+
1347+</tr>
1348+
1349+<tr>
1350+
1351+<td width="10%">
1352+
1353+</td>
1354+
1355+<td width="10%" style="background: white;">
1356+
1357+</td>
1358+
1359+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1360+
1361+Устанавливает яркость расширенного гамма-пикселя при условии, что вы уже знаете текущее значение яркости *curlightness*. Это немного быстрее, чем предыдущая функция
1362+
1363+</td>
1364+
1365+</tr>
1366+
1367+<tr style="height: 8px;">
1368+
1369+<td colspan="3">
1370+
1371+</td>
1372+
1373+</tr>
1374+
1375+<tr>
1376+
1377+<td width="10%">
1378+
1379+</td>
1380+
1381+<td colspan="2" style="background: #f0f0ff;">
1382+
1383+**function** ColorImportance(ec: TExpandedPixel): word;
1384+
1385+</td>
1386+
1387+</tr>
1388+
1389+<tr>
1390+
1391+<td width="10%">
1392+
1393+</td>
1394+
1395+<td width="10%" style="background: #f0f0ff;">
1396+
1397+</td>
1398+
1399+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1400+
1401+Возвращает важность цвета. Это похоже на насыщенность в цветовом пространстве HSL, за исключением того, что это гамма-коррекция. Значение ноль обозначает черный/серый/белый, а значение 65535 обозначает яркий цвет
1402+
1403+</td>
1404+
1405+</tr>
1406+
1407+<tr style="height: 8px;">
1408+
1409+<td colspan="3">
1410+
1411+</td>
1412+
1413+</tr>
1414+
1415+<tr>
1416+
1417+<td width="10%">
1418+
1419+</td>
1420+
1421+<td colspan="2" style="background: white;">
1422+
1423+**function** MergeBGRA(ec1, ec2: TExpandedPixel): TExpandedPixel; **overload**;
1424+
1425+</td>
1426+
1427+</tr>
1428+
1429+<tr>
1430+
1431+<td width="10%">
1432+
1433+</td>
1434+
1435+<td width="10%" style="background: white;">
1436+
1437+</td>
1438+
1439+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1440+
1441+Объединение двух расширенных гамма-пикселей (с учетом коррекции гаммы)
1442+
1443+</td>
1444+
1445+</tr>
1446+
1447+<tr style="height: 8px;">
1448+
1449+<td colspan="3">
1450+
1451+</td>
1452+
1453+</tr>
1454+
1455+<tr>
1456+
1457+<td width="10%">
1458+
1459+</td>
1460+
1461+<td colspan="2" style="background: #f0f0ff;">
1462+
1463+**function** ExpandedDiff(ec1, ec2: TExpandedPixel): word;
1464+
1465+</td>
1466+
1467+</tr>
1468+
1469+<tr>
1470+
1471+<td width="10%">
1472+
1473+</td>
1474+
1475+<td width="10%" style="background: #f0f0ff;">
1476+
1477+</td>
1478+
1479+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1480+
1481+Вычисляет разницу (с гамма-коррекцией) между двумя пикселями с учетом всех размеров, включая прозрачность. Результат варьирует от 0 до 65535
1482+
1483+</td>
1484+
1485+</tr>
1486+
1487+<tr style="height: 8px;">
1488+
1489+<td colspan="3">
1490+
1491+</td>
1492+
1493+</tr>
1494+
1495+<tr style="background: white;">
1496+
1497+<td colspan="3">
1498+
1499+*THSLAPixel* = **packed** **record**
1500+
1501+</td>
1502+
1503+</tr>
1504+
1505+<tr style="background: white;">
1506+
1507+<td width="10%">
1508+
1509+</td>
1510+
1511+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
1512+
1513+Цвет пикселя определяется в цветовом пространстве HSL. Диапазон значений от 0 до 65535
1514+
1515+</td>
1516+
1517+</tr>
1518+
1519+<tr style="height: 8px;">
1520+
1521+<td colspan="3">
1522+
1523+</td>
1524+
1525+</tr>
1526+
1527+<tr>
1528+
1529+<td width="10%">
1530+
1531+</td>
1532+
1533+<td colspan="2" style="background: #f0f0ff;">
1534+
1535+*hue*: word;
1536+
1537+</td>
1538+
1539+</tr>
1540+
1541+<tr>
1542+
1543+<td width="10%">
1544+
1545+</td>
1546+
1547+<td width="10%" style="background: #f0f0ff;">
1548+
1549+</td>
1550+
1551+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1552+
1553+Оттенок пикселя. Экстремальные значения 0 и 65535 - красные
1554+
1555+</td>
1556+
1557+</tr>
1558+
1559+<tr style="height: 8px;">
1560+
1561+<td colspan="3">
1562+
1563+</td>
1564+
1565+</tr>
1566+
1567+<tr>
1568+
1569+<td width="10%">
1570+
1571+</td>
1572+
1573+<td colspan="2" style="background: white;">
1574+
1575+*saturation*: word;
1576+
1577+</td>
1578+
1579+</tr>
1580+
1581+<tr>
1582+
1583+<td width="10%">
1584+
1585+</td>
1586+
1587+<td width="10%" style="background: white;">
1588+
1589+</td>
1590+
1591+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1592+
1593+Насыщенность цвета. 0 - серый, а 65535 - самый яркий цвет
1594+
1595+</td>
1596+
1597+</tr>
1598+
1599+<tr style="height: 8px;">
1600+
1601+<td colspan="3">
1602+
1603+</td>
1604+
1605+</tr>
1606+
1607+<tr>
1608+
1609+<td width="10%">
1610+
1611+</td>
1612+
1613+<td colspan="2" style="background: #f0f0ff;">
1614+
1615+*lightness*: word;
1616+
1617+</td>
1618+
1619+</tr>
1620+
1621+<tr>
1622+
1623+<td width="10%">
1624+
1625+</td>
1626+
1627+<td width="10%" style="background: #f0f0ff;">
1628+
1629+</td>
1630+
1631+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1632+
1633+Яркость цвета. 0 черный, 32768 нормальный, 65535 белый
1634+
1635+</td>
1636+
1637+</tr>
1638+
1639+<tr style="height: 8px;">
1640+
1641+<td colspan="3">
1642+
1643+</td>
1644+
1645+</tr>
1646+
1647+<tr>
1648+
1649+<td width="10%">
1650+
1651+</td>
1652+
1653+<td colspan="2" style="background: white;">
1654+
1655+*alpha*: word;
1656+
1657+</td>
1658+
1659+</tr>
1660+
1661+<tr>
1662+
1663+<td width="10%">
1664+
1665+</td>
1666+
1667+<td width="10%" style="background: white;">
1668+
1669+</td>
1670+
1671+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1672+
1673+Непрозрачность пикселя. 0 прозрачный и 65535 непрозрачный
1674+
1675+</td>
1676+
1677+</tr>
1678+
1679+<tr style="height: 8px;">
1680+
1681+<td colspan="3">
1682+
1683+</td>
1684+
1685+</tr>
1686+
1687+<tr>
1688+
1689+<td width="10%">
1690+
1691+</td>
1692+
1693+<td colspan="2" style="background: #f0f0ff;">
1694+
1695+**function** HSLA(hue, saturation, lightness, alpha: word): THSLAPixel; **overload**; **inline**;
1696+
1697+</td>
1698+
1699+</tr>
1700+
1701+<tr>
1702+
1703+<td width="10%">
1704+
1705+</td>
1706+
1707+<td width="10%" style="background: #f0f0ff;">
1708+
1709+</td>
1710+
1711+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1712+
1713+Создает пиксель с заданными значениями HSLA, где A обозначает альфа
1714+
1715+</td>
1716+
1717+</tr>
1718+
1719+<tr style="height: 8px;">
1720+
1721+<td colspan="3">
1722+
1723+</td>
1724+
1725+</tr>
1726+
1727+<tr>
1728+
1729+<td width="10%">
1730+
1731+</td>
1732+
1733+<td colspan="2" style="background: white;">
1734+
1735+**function** HSLA(hue, saturation, lightness: word): THSLAPixel; **overload**; **inline**;
1736+
1737+</td>
1738+
1739+</tr>
1740+
1741+<tr>
1742+
1743+<td width="10%">
1744+
1745+</td>
1746+
1747+<td width="10%" style="background: white;">
1748+
1749+</td>
1750+
1751+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1752+
1753+Создает непрозрачный пиксель с заданными значениями HSL
1754+
1755+</td>
1756+
1757+</tr>
1758+
1759+<tr style="height: 8px;">
1760+
1761+<td colspan="3">
1762+
1763+</td>
1764+
1765+</tr>
1766+
1767+<tr>
1768+
1769+<td width="10%">
1770+
1771+</td>
1772+
1773+<td colspan="2" style="background: #f0f0ff;">
1774+
1775+**function** BGRAToHSLA(c: TBGRAPixel): THSLAPixel;
1776+
1777+</td>
1778+
1779+</tr>
1780+
1781+<tr>
1782+
1783+<td width="10%">
1784+
1785+</td>
1786+
1787+<td width="10%" style="background: #f0f0ff;">
1788+
1789+</td>
1790+
1791+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1792+
1793+Преобразует пиксель из sRGB в цветовое пространство HSL
1794+
1795+</td>
1796+
1797+</tr>
1798+
1799+<tr style="height: 8px;">
1800+
1801+<td colspan="3">
1802+
1803+</td>
1804+
1805+</tr>
1806+
1807+<tr>
1808+
1809+<td width="10%">
1810+
1811+</td>
1812+
1813+<td colspan="2" style="background: white;">
1814+
1815+**function** ExpandedToHSLA(**const** ec: TExpandedPixel): THSLAPixel;
1816+
1817+</td>
1818+
1819+</tr>
1820+
1821+<tr>
1822+
1823+<td width="10%">
1824+
1825+</td>
1826+
1827+<td width="10%" style="background: white;">
1828+
1829+</td>
1830+
1831+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1832+
1833+Преобразует пиксель из гамма-развернутого RGB в цветовое пространство HSL
1834+
1835+</td>
1836+
1837+</tr>
1838+
1839+<tr style="height: 8px;">
1840+
1841+<td colspan="3">
1842+
1843+</td>
1844+
1845+</tr>
1846+
1847+<tr>
1848+
1849+<td width="10%">
1850+
1851+</td>
1852+
1853+<td colspan="2" style="background: #f0f0ff;">
1854+
1855+**function** HSLAToExpanded(**const** c: THSLAPixel): TExpandedPixel;
1856+
1857+</td>
1858+
1859+</tr>
1860+
1861+<tr>
1862+
1863+<td width="10%">
1864+
1865+</td>
1866+
1867+<td width="10%" style="background: #f0f0ff;">
1868+
1869+</td>
1870+
1871+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1872+
1873+Преобразует пиксель из гамма-развернутого RGB в цветовое пространство HSL
1874+
1875+</td>
1876+
1877+</tr>
1878+
1879+<tr style="height: 8px;">
1880+
1881+<td colspan="3">
1882+
1883+</td>
1884+
1885+</tr>
1886+
1887+<tr>
1888+
1889+<td width="10%">
1890+
1891+</td>
1892+
1893+<td colspan="2" style="background: white;">
1894+
1895+**function** HSLAToBGRA(**const** c: THSLAPixel): TBGRAPixel;
1896+
1897+</td>
1898+
1899+</tr>
1900+
1901+<tr>
1902+
1903+<td width="10%">
1904+
1905+</td>
1906+
1907+<td width="10%" style="background: white;">
1908+
1909+</td>
1910+
1911+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1912+
1913+Преобразует пиксель из цветового пространства HSL в sRGB
1914+
1915+</td>
1916+
1917+</tr>
1918+
1919+<tr style="height: 8px;">
1920+
1921+<td colspan="3">
1922+
1923+</td>
1924+
1925+</tr>
1926+
1927+<tr>
1928+
1929+<td width="10%">
1930+
1931+</td>
1932+
1933+<td colspan="2" style="background: #f0f0ff;">
1934+
1935+**function** HueDiff(h1, h2: word): word;
1936+
1937+</td>
1938+
1939+</tr>
1940+
1941+<tr>
1942+
1943+<td width="10%">
1944+
1945+</td>
1946+
1947+<td width="10%" style="background: #f0f0ff;">
1948+
1949+</td>
1950+
1951+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1952+
1953+Вычисляет разницу оттенков
1954+
1955+</td>
1956+
1957+</tr>
1958+
1959+<tr style="height: 8px;">
1960+
1961+<td colspan="3">
1962+
1963+</td>
1964+
1965+</tr>
1966+
1967+<tr>
1968+
1969+<td width="10%">
1970+
1971+</td>
1972+
1973+<td colspan="2" style="background: white;">
1974+
1975+**function** GetHue(ec: TExpandedPixel): word;
1976+
1977+</td>
1978+
1979+</tr>
1980+
1981+<tr>
1982+
1983+<td width="10%">
1984+
1985+</td>
1986+
1987+<td width="10%" style="background: white;">
1988+
1989+</td>
1990+
1991+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
1992+
1993+Возвращает оттенок расширенного гамма-пикселя
1994+
1995+</td>
1996+
1997+</tr>
1998+
1999+<tr style="height: 8px;">
2000+
2001+<td colspan="3">
2002+
2003+</td>
2004+
2005+</tr>
2006+
2007+<tr style="background: #f0f0ff;">
2008+
2009+<td colspan="3">
2010+
2011+*TGSBAPixel* = THSLAPixel;
2012+
2013+</td>
2014+
2015+</tr>
2016+
2017+<tr style="background: #f0f0ff;">
2018+
2019+<td width="10%">
2020+
2021+</td>
2022+
2023+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
2024+
2025+Цвет пикселя определяется в исправленном цветовом пространстве HSL. G обозначает исправленный оттенок, а B обозначает фактическую яркость. Диапазон значений от 0 до 65535
2026+
2027+</td>
2028+
2029+</tr>
2030+
2031+<tr style="height: 8px;">
2032+
2033+<td colspan="3">
2034+
2035+</td>
2036+
2037+</tr>
2038+
2039+<tr>
2040+
2041+<td width="10%">
2042+
2043+</td>
2044+
2045+<td colspan="2" style="background: white;">
2046+
2047+**function** BGRAToGSBA(c: TBGRAPixel): TGSBAPixel;
2048+
2049+</td>
2050+
2051+</tr>
2052+
2053+<tr>
2054+
2055+<td width="10%">
2056+
2057+</td>
2058+
2059+<td width="10%" style="background: white;">
2060+
2061+</td>
2062+
2063+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2064+
2065+Преобразует пиксель из sRGB в корректное цветовое пространство HSL
2066+
2067+</td>
2068+
2069+</tr>
2070+
2071+<tr style="height: 8px;">
2072+
2073+<td colspan="3">
2074+
2075+</td>
2076+
2077+</tr>
2078+
2079+<tr>
2080+
2081+<td width="10%">
2082+
2083+</td>
2084+
2085+<td colspan="2" style="background: #f0f0ff;">
2086+
2087+**function** ExpandedToGSBA(ec: TExpandedPixel): TGSBAPixel;
2088+
2089+</td>
2090+
2091+</tr>
2092+
2093+<tr>
2094+
2095+<td width="10%">
2096+
2097+</td>
2098+
2099+<td width="10%" style="background: #f0f0ff;">
2100+
2101+</td>
2102+
2103+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2104+
2105+Преобразует пиксель из гамма-развернутого RGB в корректное цветовое пространство HSL
2106+
2107+</td>
2108+
2109+</tr>
2110+
2111+<tr style="height: 8px;">
2112+
2113+<td colspan="3">
2114+
2115+</td>
2116+
2117+</tr>
2118+
2119+<tr>
2120+
2121+<td width="10%">
2122+
2123+</td>
2124+
2125+<td colspan="2" style="background: white;">
2126+
2127+**function** GtoH(ghue: word): word;
2128+
2129+</td>
2130+
2131+</tr>
2132+
2133+<tr>
2134+
2135+<td width="10%">
2136+
2137+</td>
2138+
2139+<td width="10%" style="background: white;">
2140+
2141+</td>
2142+
2143+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2144+
2145+Преобразует оттенок G (GSBA) в оттенок H (HSLA)
2146+
2147+</td>
2148+
2149+</tr>
2150+
2151+<tr style="height: 8px;">
2152+
2153+<td colspan="3">
2154+
2155+</td>
2156+
2157+</tr>
2158+
2159+<tr>
2160+
2161+<td width="10%">
2162+
2163+</td>
2164+
2165+<td colspan="2" style="background: #f0f0ff;">
2166+
2167+**function** HtoG(hue: word): word;
2168+
2169+</td>
2170+
2171+</tr>
2172+
2173+<tr>
2174+
2175+<td width="10%">
2176+
2177+</td>
2178+
2179+<td width="10%" style="background: #f0f0ff;">
2180+
2181+</td>
2182+
2183+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2184+
2185+Преобразует оттенок H (HSLA) в оттенок G (GSBA)
2186+
2187+</td>
2188+
2189+</tr>
2190+
2191+<tr style="height: 8px;">
2192+
2193+<td colspan="3">
2194+
2195+</td>
2196+
2197+</tr>
2198+
2199+<tr>
2200+
2201+<td width="10%">
2202+
2203+</td>
2204+
2205+<td colspan="2" style="background: white;">
2206+
2207+**function** GSBAToBGRA(c: TGSBAPixel): TBGRAPixel;
2208+
2209+</td>
2210+
2211+</tr>
2212+
2213+<tr>
2214+
2215+<td width="10%">
2216+
2217+</td>
2218+
2219+<td width="10%" style="background: white;">
2220+
2221+</td>
2222+
2223+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2224+
2225+Преобразует пиксель из исправленного HSL в sRGB
2226+
2227+</td>
2228+
2229+</tr>
2230+
2231+<tr style="height: 8px;">
2232+
2233+<td colspan="3">
2234+
2235+</td>
2236+
2237+</tr>
2238+
2239+<tr>
2240+
2241+<td width="10%">
2242+
2243+</td>
2244+
2245+<td colspan="2" style="background: #f0f0ff;">
2246+
2247+**function** GSBAToExpanded(c: TGSBAPixel): TExpandedPixel;
2248+
2249+</td>
2250+
2251+</tr>
2252+
2253+<tr>
2254+
2255+<td width="10%">
2256+
2257+</td>
2258+
2259+<td width="10%" style="background: #f0f0ff;">
2260+
2261+</td>
2262+
2263+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2264+
2265+Преобразует пиксель из корректного HSL в расширенный гамма RGB
2266+
2267+</td>
2268+
2269+</tr>
2270+
2271+<tr style="height: 8px;">
2272+
2273+<td colspan="3">
2274+
2275+</td>
2276+
2277+</tr>
2278+
2279+<tr>
2280+
2281+<td width="10%">
2282+
2283+</td>
2284+
2285+<td colspan="2" style="background: white;">
2286+
2287+**function** GSBAToHSLA(c: TGSBAPixel): THSLAPixel;
2288+
2289+</td>
2290+
2291+</tr>
2292+
2293+<tr>
2294+
2295+<td width="10%">
2296+
2297+</td>
2298+
2299+<td width="10%" style="background: white;">
2300+
2301+</td>
2302+
2303+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2304+
2305+Преобразует пиксель из корректного HSL в обычный HSL
2306+
2307+</td>
2308+
2309+</tr>
2310+
2311+<tr style="height: 8px;">
2312+
2313+<td colspan="3">
2314+
2315+</td>
2316+
2317+</tr>
2318+
2319+<tr style="background: #f0f0ff;">
2320+
2321+<td colspan="3">
2322+
2323+*TColorF* = **packed** **array**\[1..4\] **of** single;
2324+
2325+</td>
2326+
2327+</tr>
2328+
2329+<tr style="background: #f0f0ff;">
2330+
2331+<td width="10%">
2332+
2333+</td>
2334+
2335+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
2336+
2337+Цветовая переменная общего назначения со значениями с плавающей точкой одинарной точности
2338+
2339+</td>
2340+
2341+</tr>
2342+
2343+<tr style="height: 8px;">
2344+
2345+<td colspan="3">
2346+
2347+</td>
2348+
2349+</tr>
2350+
2351+<tr>
2352+
2353+<td width="10%">
2354+
2355+</td>
2356+
2357+<td colspan="2" style="background: white;">
2358+
2359+**function** ColorF(red,green,blue,alpha: single): TColorF;
2360+
2361+</td>
2362+
2363+</tr>
2364+
2365+<tr>
2366+
2367+<td width="10%">
2368+
2369+</td>
2370+
2371+<td width="10%" style="background: white;">
2372+
2373+</td>
2374+
2375+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2376+
2377+Создает структуру TColorF
2378+
2379+</td>
2380+
2381+</tr>
2382+
2383+<tr style="height: 8px;">
2384+
2385+<td colspan="3">
2386+
2387+</td>
2388+
2389+</tr>
2390+
2391+<tr>
2392+
2393+<td width="10%">
2394+
2395+</td>
2396+
2397+<td colspan="2" style="background: #f0f0ff;">
2398+
2399+**operator** - (**const** c1, c2: TColorF): TColorF; **inline**;
2400+
2401+</td>
2402+
2403+</tr>
2404+
2405+<tr>
2406+
2407+<td width="10%">
2408+
2409+</td>
2410+
2411+<td width="10%" style="background: #f0f0ff;">
2412+
2413+</td>
2414+
2415+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2416+
2417+Вычитает каждый компонент отдельно
2418+
2419+</td>
2420+
2421+</tr>
2422+
2423+<tr style="height: 8px;">
2424+
2425+<td colspan="3">
2426+
2427+</td>
2428+
2429+</tr>
2430+
2431+<tr>
2432+
2433+<td width="10%">
2434+
2435+</td>
2436+
2437+<td colspan="2" style="background: white;">
2438+
2439+**operator** + (**const** c1, c2: TColorF): TColorF; **inline**;
2440+
2441+</td>
2442+
2443+</tr>
2444+
2445+<tr>
2446+
2447+<td width="10%">
2448+
2449+</td>
2450+
2451+<td width="10%" style="background: white;">
2452+
2453+</td>
2454+
2455+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2456+
2457+Добавляет каждый компонент отдельно
2458+
2459+</td>
2460+
2461+</tr>
2462+
2463+<tr style="height: 8px;">
2464+
2465+<td colspan="3">
2466+
2467+</td>
2468+
2469+</tr>
2470+
2471+<tr>
2472+
2473+<td width="10%">
2474+
2475+</td>
2476+
2477+<td colspan="2" style="background: #f0f0ff;">
2478+
2479+**operator** * (**const** c1, c2: TColorF): TColorF; **inline**;
2480+
2481+</td>
2482+
2483+</tr>
2484+
2485+<tr>
2486+
2487+<td width="10%">
2488+
2489+</td>
2490+
2491+<td width="10%" style="background: #f0f0ff;">
2492+
2493+</td>
2494+
2495+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2496+
2497+Умножает каждый компонент отдельно
2498+
2499+</td>
2500+
2501+</tr>
2502+
2503+<tr style="height: 8px;">
2504+
2505+<td colspan="3">
2506+
2507+</td>
2508+
2509+</tr>
2510+
2511+<tr>
2512+
2513+<td width="10%">
2514+
2515+</td>
2516+
2517+<td colspan="2" style="background: white;">
2518+
2519+**operator** * (**const** c1: TColorF; factor: single): TColorF; **inline**;
2520+
2521+</td>
2522+
2523+</tr>
2524+
2525+<tr>
2526+
2527+<td width="10%">
2528+
2529+</td>
2530+
2531+<td width="10%" style="background: white;">
2532+
2533+</td>
2534+
2535+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2536+
2537+Умножает каждый компонент на *factor*
2538+
2539+</td>
2540+
2541+</tr>
2542+
2543+<tr style="height: 8px;">
2544+
2545+<td colspan="3">
2546+
2547+</td>
2548+
2549+</tr>
2550+
2551+<tr style="background: #f0f0ff;">
2552+
2553+<td colspan="3">
2554+
2555+*TDrawMode* = (
2556+
2557+</td>
2558+
2559+</tr>
2560+
2561+<tr style="background: #f0f0ff;">
2562+
2563+<td width="10%">
2564+
2565+</td>
2566+
2567+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
2568+
2569+Возможные режимы при рисовании пикселя поверх другого
2570+
2571+</td>
2572+
2573+</tr>
2574+
2575+<tr style="height: 8px;">
2576+
2577+<td colspan="3">
2578+
2579+</td>
2580+
2581+</tr>
2582+
2583+<tr>
2584+
2585+<td width="10%">
2586+
2587+</td>
2588+
2589+<td colspan="2" style="background: white;">
2590+
2591+*dmSet*,
2592+
2593+</td>
2594+
2595+</tr>
2596+
2597+<tr>
2598+
2599+<td width="10%">
2600+
2601+</td>
2602+
2603+<td width="10%" style="background: white;">
2604+
2605+</td>
2606+
2607+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2608+
2609+Пиксель заменяется
2610+
2611+</td>
2612+
2613+</tr>
2614+
2615+<tr style="height: 8px;">
2616+
2617+<td colspan="3">
2618+
2619+</td>
2620+
2621+</tr>
2622+
2623+<tr>
2624+
2625+<td width="10%">
2626+
2627+</td>
2628+
2629+<td colspan="2" style="background: #f0f0ff;">
2630+
2631+*dmSetExceptTransparent*,
2632+
2633+</td>
2634+
2635+</tr>
2636+
2637+<tr>
2638+
2639+<td width="10%">
2640+
2641+</td>
2642+
2643+<td width="10%" style="background: #f0f0ff;">
2644+
2645+</td>
2646+
2647+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2648+
2649+Пиксель заменяется, если пиксель имеет значение альфа 255
2650+
2651+</td>
2652+
2653+</tr>
2654+
2655+<tr style="height: 8px;">
2656+
2657+<td colspan="3">
2658+
2659+</td>
2660+
2661+</tr>
2662+
2663+<tr>
2664+
2665+<td width="10%">
2666+
2667+</td>
2668+
2669+<td colspan="2" style="background: white;">
2670+
2671+*dmLinearBlend*,
2672+
2673+</td>
2674+
2675+</tr>
2676+
2677+<tr>
2678+
2679+<td width="10%">
2680+
2681+</td>
2682+
2683+<td width="10%" style="background: white;">
2684+
2685+</td>
2686+
2687+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2688+
2689+Пиксель смешивается с другим в соответствии с альфа-значениями, однако гамма-коррекция не применяется. Другими словами, цветовое пространство предполагается линейным
2690+
2691+</td>
2692+
2693+</tr>
2694+
2695+<tr style="height: 8px;">
2696+
2697+<td colspan="3">
2698+
2699+</td>
2700+
2701+</tr>
2702+
2703+<tr>
2704+
2705+<td width="10%">
2706+
2707+</td>
2708+
2709+<td colspan="2" style="background: #f0f0ff;">
2710+
2711+*dmDrawWithTransparency*,
2712+
2713+</td>
2714+
2715+</tr>
2716+
2717+<tr>
2718+
2719+<td width="10%">
2720+
2721+</td>
2722+
2723+<td width="10%" style="background: #f0f0ff;">
2724+
2725+</td>
2726+
2727+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2728+
2729+Пиксель смешивается с другим в соответствии с альфа-значениями, и применяется гамма-коррекция. Другими словами, цветовое пространство предполагается sRGB
2730+
2731+</td>
2732+
2733+</tr>
2734+
2735+<tr style="height: 8px;">
2736+
2737+<td colspan="3">
2738+
2739+</td>
2740+
2741+</tr>
2742+
2743+<tr>
2744+
2745+<td width="10%">
2746+
2747+</td>
2748+
2749+<td colspan="2" style="background: white;">
2750+
2751+*dmXor*);
2752+
2753+</td>
2754+
2755+</tr>
2756+
2757+<tr>
2758+
2759+<td width="10%">
2760+
2761+</td>
2762+
2763+<td width="10%" style="background: white;">
2764+
2765+</td>
2766+
2767+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2768+
2769+Значения всех каналов объединяются \[посредством\] Xor. Это полезно для вычисления двоичной разницы, однако не имеет смысла отображать на экране
2770+
2771+</td>
2772+
2773+</tr>
2774+
2775+<tr style="height: 8px;">
2776+
2777+<td colspan="3">
2778+
2779+</td>
2780+
2781+</tr>
2782+
2783+<tr>
2784+
2785+<td width="10%">
2786+
2787+</td>
2788+
2789+<td colspan="2" style="background: #f0f0ff;">
2790+
2791+*dmFastBlend* = dmLinearBlend;
2792+
2793+</td>
2794+
2795+</tr>
2796+
2797+<tr>
2798+
2799+<td width="10%">
2800+
2801+</td>
2802+
2803+<td width="10%" style="background: #f0f0ff;">
2804+
2805+</td>
2806+
2807+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2808+
2809+Псевдоним для линейного наложения, потому что он быстрее, чем наложение с гамма-коррекцией
2810+
2811+</td>
2812+
2813+</tr>
2814+
2815+<tr style="height: 8px;">
2816+
2817+<td colspan="3">
2818+
2819+</td>
2820+
2821+</tr>
2822+
2823+<tr style="background: white;">
2824+
2825+<td colspan="3">
2826+
2827+*TBlendOperation* = (
2828+
2829+</td>
2830+
2831+</tr>
2832+
2833+<tr style="background: white;">
2834+
2835+<td width="10%">
2836+
2837+</td>
2838+
2839+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
2840+
2841+Расширенные режимы наложения. См. [Paint.NET blend modes](http://www.brighthub.com/multimedia/photography/articles/18301.aspx) и [Formulas](http://www.pegtop.net/delphi/articles/blendmodes/). Смешивание слоев имеет два этапа. Первый - применяются операции смешивания, перечисленные ниже, а второй - фактическое слияние цветов.
2842+
2843+</td>
2844+
2845+</tr>
2846+
2847+<tr style="height: 8px;">
2848+
2849+<td colspan="3">
2850+
2851+</td>
2852+
2853+</tr>
2854+
2855+<tr>
2856+
2857+<td width="10%">
2858+
2859+</td>
2860+
2861+<td colspan="2" style="background: #f0f0ff;">
2862+
2863+*boLinearBlend*,
2864+
2865+</td>
2866+
2867+</tr>
2868+
2869+<tr>
2870+
2871+<td width="10%">
2872+
2873+</td>
2874+
2875+<td width="10%" style="background: #f0f0ff;">
2876+
2877+</td>
2878+
2879+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2880+
2881+Простое смешивание, за исключением того, что оно вызывает линейное объединение, поэтому оно эквивалентно *dmLinearBlend*
2882+
2883+</td>
2884+
2885+</tr>
2886+
2887+<tr style="height: 8px;">
2888+
2889+<td colspan="3">
2890+
2891+</td>
2892+
2893+</tr>
2894+
2895+<tr>
2896+
2897+<td width="10%">
2898+
2899+</td>
2900+
2901+<td colspan="2" style="background: white;">
2902+
2903+*boTransparent*,
2904+
2905+</td>
2906+
2907+</tr>
2908+
2909+<tr>
2910+
2911+<td width="10%">
2912+
2913+</td>
2914+
2915+<td width="10%" style="background: white;">
2916+
2917+</td>
2918+
2919+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2920+
2921+Простое смешивание. Оно эквивалентно *dmLinearBlend* или *dmDrawWithTransparency*
2922+
2923+</td>
2924+
2925+</tr>
2926+
2927+<tr style="height: 8px;">
2928+
2929+<td colspan="3">
2930+
2931+</td>
2932+
2933+</tr>
2934+
2935+<tr>
2936+
2937+<td width="10%">
2938+
2939+</td>
2940+
2941+<td colspan="2" style="background: #f0f0ff;">
2942+
2943+*boLighten*, boScreen, boAdditive, boLinearAdd, boColorDodge, boDivide, boNiceGlow, boSoftLight, boHardLight,
2944+
2945+</td>
2946+
2947+</tr>
2948+
2949+<tr>
2950+
2951+<td width="10%">
2952+
2953+</td>
2954+
2955+<td width="10%" style="background: #f0f0ff;">
2956+
2957+</td>
2958+
2959+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
2960+
2961+Режимы смешивания яркости (имеют тенденцию увеличивать свечение)
2962+
2963+</td>
2964+
2965+</tr>
2966+
2967+<tr style="height: 8px;">
2968+
2969+<td colspan="3">
2970+
2971+</td>
2972+
2973+</tr>
2974+
2975+<tr>
2976+
2977+<td width="10%">
2978+
2979+</td>
2980+
2981+<td colspan="2" style="background: white;">
2982+
2983+*boGlow*, boReflect, boOverlay, boDarkOverlay, boDarken, boMultiply, boColorBurn,
2984+
2985+</td>
2986+
2987+</tr>
2988+
2989+<tr>
2990+
2991+<td width="10%">
2992+
2993+</td>
2994+
2995+<td width="10%" style="background: white;">
2996+
2997+</td>
2998+
2999+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3000+
3001+Маскировка режимов наложения (имеет тенденцию уменьшать свечение)
3002+
3003+</td>
3004+
3005+</tr>
3006+
3007+<tr style="height: 8px;">
3008+
3009+<td colspan="3">
3010+
3011+</td>
3012+
3013+</tr>
3014+
3015+<tr>
3016+
3017+<td width="10%">
3018+
3019+</td>
3020+
3021+<td colspan="2" style="background: #f0f0ff;">
3022+
3023+*boDifference*, boLinearDifference, boExclusion, boLinearExclusion, boSubtract, boLinearSubtract, boSubtractInverse, boLinearSubtractInverse,
3024+
3025+</td>
3026+
3027+</tr>
3028+
3029+<tr>
3030+
3031+<td width="10%">
3032+
3033+</td>
3034+
3035+<td width="10%" style="background: #f0f0ff;">
3036+
3037+</td>
3038+
3039+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3040+
3041+Режимы смешивания различий
3042+
3043+</td>
3044+
3045+</tr>
3046+
3047+<tr style="height: 8px;">
3048+
3049+<td colspan="3">
3050+
3051+</td>
3052+
3053+</tr>
3054+
3055+<tr>
3056+
3057+<td width="10%">
3058+
3059+</td>
3060+
3061+<td colspan="2" style="background: white;">
3062+
3063+*boNegation*, boLinearNegation,
3064+
3065+</td>
3066+
3067+</tr>
3068+
3069+<tr>
3070+
3071+<td width="10%">
3072+
3073+</td>
3074+
3075+<td width="10%" style="background: white;">
3076+
3077+</td>
3078+
3079+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3080+
3081+Режимы наложения негатива
3082+
3083+</td>
3084+
3085+</tr>
3086+
3087+<tr style="height: 8px;">
3088+
3089+<td colspan="3">
3090+
3091+</td>
3092+
3093+</tr>
3094+
3095+<tr>
3096+
3097+<td width="10%">
3098+
3099+</td>
3100+
3101+<td colspan="2" style="background: #f0f0ff;">
3102+
3103+*boXor*);
3104+
3105+</td>
3106+
3107+</tr>
3108+
3109+<tr>
3110+
3111+<td width="10%">
3112+
3113+</td>
3114+
3115+<td width="10%" style="background: #f0f0ff;">
3116+
3117+</td>
3118+
3119+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3120+
3121+Режим смешивания Xor. Он немного отличается от *dm Xor*, поскольку альфа-значение используется, как и в других режимах наложения.
3122+
3123+</td>
3124+
3125+</tr>
3126+
3127+<tr style="height: 8px;">
3128+
3129+<td colspan="3">
3130+
3131+</td>
3132+
3133+</tr>
3134+
3135+<tr>
3136+
3137+<td width="10%">
3138+
3139+</td>
3140+
3141+<td colspan="2" style="background: white;">
3142+
3143+*boGlowMask* = boGlow;
3144+
3145+</td>
3146+
3147+</tr>
3148+
3149+<tr>
3150+
3151+<td width="10%">
3152+
3153+</td>
3154+
3155+<td width="10%" style="background: white;">
3156+
3157+</td>
3158+
3159+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3160+
3161+Псевдоним свечения, который выражает, что этот режим смешивания маскирует часть, где верхний слой черный
3162+
3163+</td>
3164+
3165+</tr>
3166+
3167+<tr style="height: 8px;">
3168+
3169+<td colspan="3">
3170+
3171+</td>
3172+
3173+</tr>
3174+
3175+<tr>
3176+
3177+<td width="10%">
3178+
3179+</td>
3180+
3181+<td colspan="2" style="background: #f0f0ff;">
3182+
3183+*boLinearMultiply* = boMultiply;
3184+
3185+</td>
3186+
3187+</tr>
3188+
3189+<tr>
3190+
3191+<td width="10%">
3192+
3193+</td>
3194+
3195+<td width="10%" style="background: #f0f0ff;">
3196+
3197+</td>
3198+
3199+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3200+
3201+Псевдоним, потому что линейные или нелинейные режимы умножения идентичны
3202+
3203+</td>
3204+
3205+</tr>
3206+
3207+<tr style="height: 8px;">
3208+
3209+<td colspan="3">
3210+
3211+</td>
3212+
3213+</tr>
3214+
3215+<tr>
3216+
3217+<td width="10%">
3218+
3219+</td>
3220+
3221+<td colspan="2" style="background: white;">
3222+
3223+*boNonLinearOverlay* = boDarkOverlay;
3224+
3225+</td>
3226+
3227+</tr>
3228+
3229+<tr>
3230+
3231+<td width="10%">
3232+
3233+</td>
3234+
3235+<td width="10%" style="background: white;">
3236+
3237+</td>
3238+
3239+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3240+
3241+Псевдоним, чтобы выразить это темное наложение - это просто наложение с гамма-коррекцией
3242+
3243+</td>
3244+
3245+</tr>
3246+
3247+<tr style="height: 8px;">
3248+
3249+<td colspan="3">
3250+
3251+</td>
3252+
3253+</tr>
3254+
3255+<tr>
3256+
3257+<td width="10%">
3258+
3259+</td>
3260+
3261+<td colspan="2" style="background: #f0f0ff;">
3262+
3263+*BlendOperationStr* : **array**\[TBlendOperation\] **of** **string**
3264+
3265+</td>
3266+
3267+</tr>
3268+
3269+<tr>
3270+
3271+<td width="10%">
3272+
3273+</td>
3274+
3275+<td width="10%" style="background: #f0f0ff;">
3276+
3277+</td>
3278+
3279+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3280+
3281+Строковые константы для режимов наложения
3282+
3283+</td>
3284+
3285+</tr>
3286+
3287+<tr style="height: 8px;">
3288+
3289+<td colspan="3">
3290+
3291+</td>
3292+
3293+</tr>
3294+
3295+<tr>
3296+
3297+<td width="10%">
3298+
3299+</td>
3300+
3301+<td colspan="2" style="background: white;">
3302+
3303+**function** StrToBlendOperation(str: **string**): TBlendOperation;
3304+
3305+</td>
3306+
3307+</tr>
3308+
3309+<tr>
3310+
3311+<td width="10%">
3312+
3313+</td>
3314+
3315+<td width="10%" style="background: white;">
3316+
3317+</td>
3318+
3319+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3320+
3321+Возвращает режим наложения, выраженный строкой
3322+
3323+</td>
3324+
3325+</tr>
3326+
3327+<tr style="height: 8px;">
3328+
3329+<td colspan="3">
3330+
3331+</td>
3332+
3333+</tr>
3334+
3335+<tr style="background: #f0f0ff;">
3336+
3337+<td colspan="3">
3338+
3339+*TChannel* = (cRed, cGreen, cBlue, cAlpha);
3340+
3341+</td>
3342+
3343+</tr>
3344+
3345+<tr style="background: #f0f0ff;">
3346+
3347+<td width="10%">
3348+
3349+</td>
3350+
3351+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
3352+
3353+Возможные каналы в растровом изображении с использованием любого цветового пространства RGBA
3354+
3355+</td>
3356+
3357+</tr>
3358+
3359+<tr style="height: 8px;">
3360+
3361+<td colspan="3">
3362+
3363+</td>
3364+
3365+</tr>
3366+
3367+<tr>
3368+
3369+<td width="10%">
3370+
3371+</td>
3372+
3373+<td colspan="2" style="background: white;">
3374+
3375+*TChannels* = set **of** TChannel;
3376+
3377+</td>
3378+
3379+</tr>
3380+
3381+<tr>
3382+
3383+<td width="10%">
3384+
3385+</td>
3386+
3387+<td width="10%" style="background: white;">
3388+
3389+</td>
3390+
3391+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3392+
3393+Сочетание каналов
3394+
3395+</td>
3396+
3397+</tr>
3398+
3399+<tr style="height: 8px;">
3400+
3401+<td colspan="3">
3402+
3403+</td>
3404+
3405+</tr>
3406+
3407+<tr style="background: #f0f0ff;">
3408+
3409+<td colspan="3">
3410+
3411+*TAlphaChannelPaletteOption* = (
3412+
3413+</td>
3414+
3415+</tr>
3416+
3417+<tr style="background: #f0f0ff;">
3418+
3419+<td width="10%">
3420+
3421+</td>
3422+
3423+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
3424+
3425+Определяет, как палитра обрабатывает альфа-канал
3426+
3427+</td>
3428+
3429+</tr>
3430+
3431+<tr style="height: 8px;">
3432+
3433+<td colspan="3">
3434+
3435+</td>
3436+
3437+</tr>
3438+
3439+<tr>
3440+
3441+<td width="10%">
3442+
3443+</td>
3444+
3445+<td colspan="2" style="background: white;">
3446+
3447+*acIgnore*,
3448+
3449+</td>
3450+
3451+</tr>
3452+
3453+<tr>
3454+
3455+<td width="10%">
3456+
3457+</td>
3458+
3459+<td width="10%" style="background: white;">
3460+
3461+</td>
3462+
3463+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3464+
3465+Альфа-канал игнорируется. Считается, что альфа-канал хранится в другом месте.
3466+
3467+</td>
3468+
3469+</tr>
3470+
3471+<tr style="height: 8px;">
3472+
3473+<td colspan="3">
3474+
3475+</td>
3476+
3477+</tr>
3478+
3479+<tr>
3480+
3481+<td width="10%">
3482+
3483+</td>
3484+
3485+<td colspan="2" style="background: #f0f0ff;">
3486+
3487+*acTransparentEntry*,
3488+
3489+</td>
3490+
3491+</tr>
3492+
3493+<tr>
3494+
3495+<td width="10%">
3496+
3497+</td>
3498+
3499+<td width="10%" style="background: #f0f0ff;">
3500+
3501+</td>
3502+
3503+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3504+
3505+Одна точка входа выделяется полностью прозрачным цветом
3506+
3507+</td>
3508+
3509+</tr>
3510+
3511+<tr style="height: 8px;">
3512+
3513+<td colspan="3">
3514+
3515+</td>
3516+
3517+</tr>
3518+
3519+<tr>
3520+
3521+<td width="10%">
3522+
3523+</td>
3524+
3525+<td colspan="2" style="background: white;">
3526+
3527+*acFullChannelInPalette*);
3528+
3529+</td>
3530+
3531+</tr>
3532+
3533+<tr>
3534+
3535+<td width="10%">
3536+
3537+</td>
3538+
3539+<td width="10%" style="background: white;">
3540+
3541+</td>
3542+
3543+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3544+
3545+Альфа-канал полностью встроен в палитру, поэтому цвет определяется четырьмя каналами RGBA.
3546+
3547+</td>
3548+
3549+</tr>
3550+
3551+<tr style="height: 8px;">
3552+
3553+<td colspan="3">
3554+
3555+</td>
3556+
3557+</tr>
3558+
3559+<tr style="background: #f0f0ff;">
3560+
3561+<td colspan="3">
3562+
3563+*TDitheringAlgorithm* = (
3564+
3565+</td>
3566+
3567+</tr>
3568+
3569+<tr style="background: #f0f0ff;">
3570+
3571+<td width="10%">
3572+
3573+</td>
3574+
3575+<td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">
3576+
3577+Алгоритмы сглаживания, которые определяют, как обрабатывать цвета, которые не найдены в палитре
3578+
3579+</td>
3580+
3581+</tr>
3582+
3583+<tr style="height: 8px;">
3584+
3585+<td colspan="3">
3586+
3587+</td>
3588+
3589+</tr>
3590+
3591+<tr>
3592+
3593+<td width="10%">
3594+
3595+</td>
3596+
3597+<td colspan="2" style="background: white;">
3598+
3599+*daNearestNeighbor*,
3600+
3601+</td>
3602+
3603+</tr>
3604+
3605+<tr>
3606+
3607+<td width="10%">
3608+
3609+</td>
3610+
3611+<td width="10%" style="background: white;">
3612+
3613+</td>
3614+
3615+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3616+
3617+Ближайший цвет должен использоваться вместо
3618+
3619+</td>
3620+
3621+</tr>
3622+
3623+<tr style="height: 8px;">
3624+
3625+<td colspan="3">
3626+
3627+</td>
3628+
3629+</tr>
3630+
3631+<tr>
3632+
3633+<td width="10%">
3634+
3635+</td>
3636+
3637+<td colspan="2" style="background: #f0f0ff;">
3638+
3639+*daFloydSteinberg*);
3640+
3641+</td>
3642+
3643+</tr>
3644+
3645+<tr>
3646+
3647+<td width="10%">
3648+
3649+</td>
3650+
3651+<td width="10%" style="background: #f0f0ff;">
3652+
3653+</td>
3654+
3655+<td style="border: 1px solid #e0e0a0; background: #ffffe4;">
3656+
3657+Можно использовать ближайший цвет, но можно использовать и другой цвет для компенсации ошибки, следуя алгоритму Флойда-Стейнберга
3658+
3659+</td>
3660+
3661+</tr>
3662+
3663+<tr style="height: 8px;">
3664+
3665+<td colspan="3">
3666+
3667+</td>
3668+
3669+</tr>
3670+
3671+</table>
3672+
3673+---
3674+*From the Free Pascal wiki, page "BGRABitmap Pixel types/ru", as it stood on 2020-01-15 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
3675+Category: BGRABitmap

Back to history