Difference between revisions of "BGRABitmap Pixel types/ru"

From Free Pascal wiki
Jump to navigationJump to search
m (Fixed template loop)
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{MenuTranslate| page=BGRABitmap Pixel types}}
+
{{LanguageBar}}
  
 
Список типов пикселей и функций библиотеки [[BGRABitmap]]. Они предоставляются модулем ''BGRABitmapTypes''.
 
Список типов пикселей и функций библиотеки [[BGRABitmap]]. Они предоставляются модулем ''BGRABitmapTypes''.
  
__TOC__
+
=== Типы пикселей и функции ===
 
 
=== Pixel types and functions ===
 
 
<table style="border-collapse: collapse;"><tr style="background: white;"><td colspan="3">''PBGRAPixel'' = ^TBGRAPixel;</td></tr>
 
<table style="border-collapse: collapse;"><tr style="background: white;"><td colspan="3">''PBGRAPixel'' = ^TBGRAPixel;</td></tr>
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Pointer for direct pixel access. Data is stored as a sequence of ''TBGRAPixel''. See [[BGRABitmap tutorial 4]]</td></tr>
+
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Указатель для прямого доступа к пикселям. Данные хранятся в виде последовательности ''TBGRAPixel''. См. [[BGRABitmap tutorial 4]]</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TBGRAPixel'' = '''packed''' '''record''' blue, green, red, alpha: byte;</td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TBGRAPixel'' = '''packed''' '''record''' blue, green, red, alpha: byte;</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Each pixel is a sequence of 4 bytes containing blue, green, red and alpha channel. Values range from 0 to 255, color is in sRGB colorspace. The alpha value of 0 is transparent and 255 is opaque. In the bitmap data, when the pixel is fully transparent, the RGB values are supposed to be set to zero.</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Каждый пиксель представляет собой последовательность из 4 байтов, содержащую синий, зеленый, красный и альфа-канал. Диапазон значений от 0 до 255, цвет в цветовом пространстве sRGB. Альфа-значение: 0 - прозрачно, 255 - непрозрачно. В растровых данных, когда пиксель полностью прозрачен, значения RGB должны быть установлены на ноль.</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' BGRA(red, green, blue, alpha: byte): TBGRAPixel; '''overload'''; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' BGRA(red, green, blue, alpha: byte): TBGRAPixel; '''overload'''; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Creates a pixel with given RGBA values</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Создает пиксель с заданными значениями RGBA</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' BGRA(red, green, blue: byte): TBGRAPixel; '''overload'''; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' BGRA(red, green, blue: byte): TBGRAPixel; '''overload'''; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Creates a opaque pixel with given RGB values</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Создает непрозрачный пиксель с заданными значениями RGB</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''operator''' = ('''const''' c1, c2: TBGRAPixel): boolean; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''operator''' = ('''const''' c1, c2: TBGRAPixel): boolean; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Checks if two pixels are equal. If they are both transparent, RGB values are ignored</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Проверяет, равны ли два пикселя. Если они оба прозрачны, значения RGB игнорируются</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GetIntensity(c: TBGRAPixel): word; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GetIntensity(c: TBGRAPixel): word; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the intensity of a pixel. The intensity is the maximum value reached by any component</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Возвращает интенсивность пикселя. Интенсивность - это максимальное значение, достигаемое любым компонентом</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' SetIntensity(c: TBGRAPixel; intensity: word): TBGRAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' SetIntensity(c: TBGRAPixel; intensity: word): TBGRAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Sets the intensity of a pixel</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Устанавливает интенсивность пикселя</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GetLightness(c: TBGRAPixel): word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GetLightness(c: TBGRAPixel): word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the lightness of a pixel. The lightness is the perceived brightness, 0 being black and 65535 being white</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Возвращает свечение пикселя. Свечение - это воспринимаемая яркость, 0 - черный, а 65535 - белый.</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' SetLightness(c: TBGRAPixel; lightness: word): TBGRAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' SetLightness(c: TBGRAPixel; lightness: word): TBGRAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Sets the lightness of a pixel</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Возвращает свечение пикселя</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' ApplyLightnessFast(color: TBGRAPixel; lightness: word): TBGRAPixel; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' ApplyLightnessFast(color: TBGRAPixel; lightness: word): TBGRAPixel; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Sets the lightness quickly, by fading towards black if ''lightness'' is less than 32768, and fading towards white if ''lightness'' is more than 32768</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Быстро устанавливает свечение, уменьшая в сторону черного, если ''lightness'' меньше 32768, и уменьшая в сторону белого, если ''lightness'' больше 32768</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' ApplyIntensityFast(color: TBGRAPixel; lightness: longword): TBGRAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' ApplyIntensityFast(color: TBGRAPixel; lightness: longword): TBGRAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Sets the intensity quickly, by fading towards black if ''lightness'' is less than 32768, and multiplying all components if ''lightness'' is more than 32768. In case of saturation, it fades towards white</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Быстро устанавливает интенсивность, уменьшая в сторону черного, если ''lightness'' меньше 32768, и умножая все составляющие, если ''lightness'' больше 32768. В случае насыщения, она исчезает в сторону белого</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' CombineLightness(lightness1,lightness2: Int32or64): Int32or64;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' CombineLightness(lightness1,lightness2: Int32or64): Int32or64;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Combines two lightnesses together. A value of 32768 is neutral. The result may exceed 65535</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Объединяет две яркости вместе. Значение 32768 является нейтральным. Результат может превысить 65535</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' BGRAToGrayscale(c: TBGRAPixel): TBGRAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' BGRAToGrayscale(c: TBGRAPixel): TBGRAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a color into grayscale</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует цвет в оттенки серого</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GrayscaleToBGRA(lightness: word): TBGRAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GrayscaleToBGRA(lightness: word): TBGRAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Create a gray color with the given ''lightness''</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Создает серый цвет с заданной ''яркостью''</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' MergeBGRA(c1, c2: TBGRAPixel): TBGRAPixel; '''overload''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' MergeBGRA(c1, c2: TBGRAPixel): TBGRAPixel; '''overload''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Merge two colors without gamma correction</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Слияние двух цветов без гамма-коррекции</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' MergeBGRA(c1: TBGRAPixel; weight1: integer; c2: TBGRAPixel; weight2: integer): TBGRAPixel; '''overload''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' MergeBGRA(c1: TBGRAPixel; weight1: integer; c2: TBGRAPixel; weight2: integer): TBGRAPixel; '''overload''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Merge two colors without gamma correction. ''weight1'' and ''weight2'' indicates the weight of the color barycentre</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Слияние двух цветов без гамма-коррекции. ''weight1'' и ''weight2'' указывает на вес цветового барицентра</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' MergeBGRAWithGammaCorrection(c1: TBGRAPixel; weight1: byte; c2: TBGRAPixel; weight2: byte): TBGRAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' MergeBGRAWithGammaCorrection(c1: TBGRAPixel; weight1: byte; c2: TBGRAPixel; weight2: byte): TBGRAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Merge two colors with gamma correction. ''weight1'' and ''weight2'' indicates the weight of the color barycentre</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Слияние двух цветов с гамма-коррекцией. ''weight1'' и ''weight2'' указывает на вес цветового барицентра</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' ColorToBGRA(color: TColor): TBGRAPixel; '''overload''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' ColorToBGRA(color: TColor): TBGRAPixel; '''overload''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a ''TColor'' value into an opaque pixel</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует значение ''TColor'' в непрозрачный пиксель</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' ColorToBGRA(color: TColor; opacity: byte): TBGRAPixel; '''overload''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' ColorToBGRA(color: TColor; opacity: byte): TBGRAPixel; '''overload''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a ''TColor'' value into a pixel with given ''opacity''</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует значение ''TColor'' в пиксель с заданной ''непрозрачностью''</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' BGRAToColor(c: TBGRAPixel): TColor;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' BGRAToColor(c: TBGRAPixel): TColor;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel into a TColor value, discarding the alpha value</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель в значение ''TColor'', отбрасывая значение альфа</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' FPColorToBGRA(AValue: TFPColor): TBGRAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' FPColorToBGRA(AValue: TFPColor): TBGRAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a ''TFPColor'' value into a pixel. Note that even if ''TFPColor'' have 16-bit values, they are not considered as gamma expanded</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует значение ''TFPColor'' в пиксель. Обратите внимание, что даже если ''TFPColor'' имеет 16-битные значения, они не считаются расширенной гаммой</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' BGRAToFPColor(AValue: TBGRAPixel): TFPColor; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' BGRAToFPColor(AValue: TBGRAPixel): TFPColor; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel into a ''TFPColor''</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель в ''TFPColor''</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' BGRAWordDiff(c1, c2: TBGRAPixel): word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' BGRAWordDiff(c1, c2: TBGRAPixel): word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Computes the difference (with gamma correction) between two pixels, taking into account all dimensions, including transparency. The result ranges from 0 to 65535</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Вычисляет разницу (с гамма-коррекцией) между двумя пикселями с учетом всех размеров, включая прозрачность. Результат варьирует от 0 до 65535</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' BGRADiff(c1, c2: TBGRAPixel): byte;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' BGRADiff(c1, c2: TBGRAPixel): byte;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Computes the difference (with gamma correction) between two pixels, taking into account all dimensions, including transparency. The result ranges from 0 to 255</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Вычисляет разницу (с гамма-коррекцией) между двумя пикселями с учетом всех размеров, включая прозрачность. Результат варьирует от 0 до 255</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: white;"><td colspan="3">''ArrayOfTBGRAPixel'' = '''array''' '''of''' TBGRAPixel;</td></tr>
 
<tr style="background: white;"><td colspan="3">''ArrayOfTBGRAPixel'' = '''array''' '''of''' TBGRAPixel;</td></tr>
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Array of pixels</td></tr>
+
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Массив пикселей</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' MergeBGRA('''const''' colors: '''array''' '''of''' TBGRAPixel): TBGRAPixel; '''overload''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' MergeBGRA('''const''' colors: '''array''' '''of''' TBGRAPixel): TBGRAPixel; '''overload''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Merge given colors without gamma correction</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Объединяет данные цвета без гамма-коррекции</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: white;"><td colspan="3">''TExpandedPixel'' = '''packed''' '''record''' red, green, blue, alpha: word;</td></tr>
 
<tr style="background: white;"><td colspan="3">''TExpandedPixel'' = '''packed''' '''record''' red, green, blue, alpha: word;</td></tr>
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Stores a gamma expanded RGB color. Values range from 0 to 65535</td></tr>
+
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Хранит гамму расширенного цвета RGB. Диапазон значений от 0 до 65535</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GammaExpansion(c: TBGRAPixel): TExpandedPixel; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GammaExpansion(c: TBGRAPixel): TExpandedPixel; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from sRGB to gamma expanded RGB</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из sRGB в расширенную гамму RGB</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GammaCompression('''const''' ec: TExpandedPixel): TBGRAPixel; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GammaCompression('''const''' ec: TExpandedPixel): TBGRAPixel; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from gamma expanded RGB to sRGB</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из гамма-развернутого RGB в sRGB</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GammaCompression(red,green,blue,alpha: word): TBGRAPixel; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GammaCompression(red,green,blue,alpha: word): TBGRAPixel; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from gamma expanded RGB to sRGB</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из гамма-развернутого RGB в sRGB</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GetIntensity('''const''' c: TExpandedPixel): word; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GetIntensity('''const''' c: TExpandedPixel): word; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the intensity of an gamma-expanded pixel. The intensity is the maximum value reached by any component</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Возвращает интенсивность гамма-расширенного пикселя. Интенсивность - это максимальное значение, достигаемое любым компонентом</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' SetIntensity('''const''' c: TExpandedPixel; intensity: word): TExpandedPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' SetIntensity('''const''' c: TExpandedPixel; intensity: word): TExpandedPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Sets the intensity of a gamma-expanded pixel</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Устанавливает интенсивность гамма-расширенного пикселя</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GetLightness('''const''' c: TExpandedPixel): word; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GetLightness('''const''' c: TExpandedPixel): word; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the lightness of an gamma-expanded pixel. The lightness is the perceived brightness, 0 being black and 65535 being white</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Возвращает яркость гамма-расширенного пикселя. lightness - это воспринимаемая яркость, 0 - черный, а 65535 - белый.</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' SetLightness('''const''' c: TExpandedPixel; lightness: word): TExpandedPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' SetLightness('''const''' c: TExpandedPixel; lightness: word): TExpandedPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Sets the lightness of a gamma-expanded pixel</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Устанавливает яркость гамма-развернутого пикселя</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' SetLightness('''const''' c: TExpandedPixel; lightness: word; curLightness: word): TExpandedPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' SetLightness('''const''' c: TExpandedPixel; lightness: word; curLightness: word): TExpandedPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Sets the lightness of a gamma expanded pixel, provided you already know the current value of lightness ''curLightness''. It is a bit faster than the previous function</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Устанавливает яркость расширенного гамма-пикселя при условии, что вы уже знаете текущее значение яркости ''curlightness''. Это немного быстрее, чем предыдущая функция</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' ColorImportance(ec: TExpandedPixel): word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' ColorImportance(ec: TExpandedPixel): word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the importance of the color. It is similar to saturation in HSL colorspace, except it is gamma corrected. A value of zero indicates a black/gray/white, and a value of 65535 indicates a bright color</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Возвращает важность цвета. Это похоже на насыщенность в цветовом пространстве HSL, за исключением того, что это гамма-коррекция. Значение ноль обозначает черный/серый/белый, а значение 65535 обозначает яркий цвет</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' MergeBGRA(ec1, ec2: TExpandedPixel): TExpandedPixel; '''overload''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' MergeBGRA(ec1, ec2: TExpandedPixel): TExpandedPixel; '''overload''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Merge two gamma expanded pixels (so taking into account gamma correction)</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Объединение двух расширенных гамма-пикселей (с учетом коррекции гаммы)</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' ExpandedDiff(ec1, ec2: TExpandedPixel): word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' ExpandedDiff(ec1, ec2: TExpandedPixel): word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Computes the difference (with gamma correction) between two pixels, taking into account all dimensions, including transparency. The result ranges from 0 to 65535</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Вычисляет разницу (с гамма-коррекцией) между двумя пикселями с учетом всех размеров, включая прозрачность. Результат варьирует от 0 до 65535</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: white;"><td colspan="3">''THSLAPixel'' = '''packed''' '''record'''</td></tr>
 
<tr style="background: white;"><td colspan="3">''THSLAPixel'' = '''packed''' '''record'''</td></tr>
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Pixel color defined in HSL colorspace. Values range from 0 to 65535</td></tr>
+
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Цвет пикселя определяется в цветовом пространстве HSL. Диапазон значений от 0 до 65535</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''hue'': word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''hue'': word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Hue of the pixel. Extremum values 0 and 65535 are red</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Оттенок пикселя. Экстремальные значения 0 и 65535 - красные</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''saturation'': word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''saturation'': word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Saturation of the color. 0 is gray and 65535 is the brightest color</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Насыщенность цвета. 0 - серый, а 65535 - самый яркий цвет</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''lightness'': word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''lightness'': word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Lightness of the color. 0 is black, 32768 is normal, and 65535 is white</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Яркость цвета. 0 черный, 32768 нормальный, 65535 белый</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''alpha'': word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''alpha'': word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Opacity of the pixel. 0 is transparent and 65535 is opaque</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Непрозрачность пикселя. 0 прозрачный и 65535 непрозрачный</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' HSLA(hue, saturation, lightness, alpha: word): THSLAPixel; '''overload'''; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' HSLA(hue, saturation, lightness, alpha: word): THSLAPixel; '''overload'''; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Creates a pixel with given HSLA values, where A stands for alpha</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Создает пиксель с заданными значениями HSLA, где A обозначает альфа</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' HSLA(hue, saturation, lightness: word): THSLAPixel; '''overload'''; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' HSLA(hue, saturation, lightness: word): THSLAPixel; '''overload'''; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Creates an opaque pixel with given HSL values</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Создает непрозрачный пиксель с заданными значениями HSL</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' BGRAToHSLA(c: TBGRAPixel): THSLAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' BGRAToHSLA(c: TBGRAPixel): THSLAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from sRGB to HSL color space</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из sRGB в цветовое пространство HSL</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' ExpandedToHSLA('''const''' ec: TExpandedPixel): THSLAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' ExpandedToHSLA('''const''' ec: TExpandedPixel): THSLAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from gamma expanded RGB to HSL color space</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из гамма-развернутого RGB в цветовое пространство HSL</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' HSLAToExpanded('''const''' c: THSLAPixel): TExpandedPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' HSLAToExpanded('''const''' c: THSLAPixel): TExpandedPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from HSL colorspace to gamma expanded RGB</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из гамма-развернутого RGB в цветовое пространство HSL</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' HSLAToBGRA('''const''' c: THSLAPixel): TBGRAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' HSLAToBGRA('''const''' c: THSLAPixel): TBGRAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from HSL colorspace to sRGB</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из цветового пространства HSL в sRGB</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' HueDiff(h1, h2: word): word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' HueDiff(h1, h2: word): word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Computes the hue difference</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Вычисляет разницу оттенков</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GetHue(ec: TExpandedPixel): word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GetHue(ec: TExpandedPixel): word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the hue of a gamma expanded pixel</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Возвращает оттенок расширенного гамма-пикселя</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TGSBAPixel'' = THSLAPixel;</td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TGSBAPixel'' = THSLAPixel;</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Pixel color defined in corrected HSL colorspace. G stands for corrected hue and B stands for actual brightness. Values range from 0 to 65535</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Цвет пикселя определяется в исправленном цветовом пространстве HSL. G обозначает исправленный оттенок, а B обозначает фактическую яркость. Диапазон значений от 0 до 65535</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' BGRAToGSBA(c: TBGRAPixel): TGSBAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' BGRAToGSBA(c: TBGRAPixel): TGSBAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from sRGB to correct HSL color space</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из sRGB в корректное цветовое пространство HSL</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' ExpandedToGSBA(ec: TExpandedPixel): TGSBAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' ExpandedToGSBA(ec: TExpandedPixel): TGSBAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from gamma expanded RGB to correct HSL color space</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из гамма-развернутого RGB в корректное цветовое пространство HSL</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GtoH(ghue: word): word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GtoH(ghue: word): word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a G hue (GSBA) to a H hue (HSLA)</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует оттенок G (GSBA) в оттенок H (HSLA)</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' HtoG(hue: word): word;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' HtoG(hue: word): word;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a H hue (HSLA) to a G hue (GSBA)</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует оттенок H (HSLA) в оттенок G (GSBA)</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GSBAToBGRA(c: TGSBAPixel): TBGRAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GSBAToBGRA(c: TGSBAPixel): TBGRAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from corrected HSL to sRGB</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из исправленного HSL в sRGB</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GSBAToExpanded(c: TGSBAPixel): TExpandedPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' GSBAToExpanded(c: TGSBAPixel): TExpandedPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from correct HSL to gamma expanded RGB</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из корректного HSL в расширенный гамма RGB</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GSBAToHSLA(c: TGSBAPixel): THSLAPixel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' GSBAToHSLA(c: TGSBAPixel): THSLAPixel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a pixel from correct HSL to usual HSL</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Преобразует пиксель из корректного HSL в обычный HSL</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TColorF'' = '''packed''' '''array'''[1..4] '''of''' single;</td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TColorF'' = '''packed''' '''array'''[1..4] '''of''' single;</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">General purpose color variable with single-precision floating point values</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Цветовая переменная общего назначения со значениями с плавающей точкой одинарной точности</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' ColorF(red,green,blue,alpha: single): TColorF;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' ColorF(red,green,blue,alpha: single): TColorF;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Creates a TColorF structure</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Создает структуру TColorF</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''operator''' - ('''const''' c1, c2: TColorF): TColorF; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''operator''' - ('''const''' c1, c2: TColorF): TColorF; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Subtract each component separately</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Вычитает каждый компонент отдельно</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''operator''' + ('''const''' c1, c2: TColorF): TColorF; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''operator''' + ('''const''' c1, c2: TColorF): TColorF; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Add each component separately</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Добавляет каждый компонент отдельно</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''operator''' * ('''const''' c1, c2: TColorF): TColorF; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''operator''' * ('''const''' c1, c2: TColorF): TColorF; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Multiply each component separately</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Умножает каждый компонент отдельно</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''operator''' * ('''const''' c1: TColorF; factor: single): TColorF; '''inline''';</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''operator''' * ('''const''' c1: TColorF; factor: single): TColorF; '''inline''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Multiply each component by ''factor''</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Умножает каждый компонент на ''factor''</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TDrawMode'' = (</td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TDrawMode'' = (</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Possible modes when drawing a pixel over another one</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Возможные режимы при рисовании пикселя поверх другого</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''dmSet'',</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''dmSet'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">The pixel is replaced</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Пиксель заменяется</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''dmSetExceptTransparent'',</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''dmSetExceptTransparent'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">The pixel is replaced if the pixel over has an alpha value of 255</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Пиксель заменяется, если пиксель имеет значение альфа 255</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''dmLinearBlend'',</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''dmLinearBlend'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">The pixel is blend over the other one according to alpha values, however no gamma correction is applied. In other words, the color space is assumed to be linear</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Пиксель смешивается с другим в соответствии с альфа-значениями, однако гамма-коррекция не применяется. Другими словами, цветовое пространство предполагается линейным</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''dmDrawWithTransparency'',</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''dmDrawWithTransparency'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">The pixel is blend over the other one according to alpha values, and a gamma correction is applied. In other word, the color space is assumed to be sRGB</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Пиксель смешивается с другим в соответствии с альфа-значениями, и применяется гамма-коррекция. Другими словами, цветовое пространство предполагается sRGB</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''dmXor'');</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''dmXor'');</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Values of all channels are combined with Xor. This is useful to compute the binary difference, however it is not something that makes much sense to display on the screen</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Значения всех каналов объединяются [посредством] Xor. Это полезно для вычисления двоичной разницы, однако не имеет смысла отображать на экране</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''dmFastBlend'' = dmLinearBlend;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''dmFastBlend'' = dmLinearBlend;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">An alias for the linear blend, because it is faster than blending with gamma correction</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Псевдоним для линейного наложения, потому что он быстрее, чем наложение с гамма-коррекцией</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: white;"><td colspan="3">''TBlendOperation'' = (</td></tr>
 
<tr style="background: white;"><td colspan="3">''TBlendOperation'' = (</td></tr>
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Advanced blending modes. See [http://www.brighthub.com/multimedia/photography/articles/18301.aspx Paint.NET blend modes] and [http://www.pegtop.net/delphi/articles/blendmodes/ Formulas]. Blending layers has two steps. The first one is to apply the blend operations listed below, and the second is the actual merging of the colors</td></tr>
+
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Расширенные режимы наложения. См. [http://www.brighthub.com/multimedia/photography/articles/18301.aspx Paint.NET blend modes] и [http://www.pegtop.net/delphi/articles/blendmodes/ Formulas]. Смешивание слоев имеет два этапа. Первый - применяются операции смешивания, перечисленные ниже, а второй - фактическое слияние цветов.</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''boLinearBlend'',</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''boLinearBlend'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Simple blend, except that it forces a linear merge so it is equivalent to ''dmLinearBlend''</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Простое смешивание, за исключением того, что оно вызывает линейное объединение, поэтому оно эквивалентно ''dmLinearBlend''</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''boTransparent'',</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''boTransparent'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Simple blend. It is equivalent to ''dmLinearBlend'' or ''dmDrawWithTransparency''</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Простое смешивание. Оно эквивалентно ''dmLinearBlend'' или ''dmDrawWithTransparency''</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''boLighten'', boScreen, boAdditive, boLinearAdd, boColorDodge, boDivide, boNiceGlow, boSoftLight, boHardLight,</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''boLighten'', boScreen, boAdditive, boLinearAdd, boColorDodge, boDivide, boNiceGlow, boSoftLight, boHardLight,</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Lighting blend modes (tends to increase the luminosity)</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Режимы смешивания яркости (имеют тенденцию увеличивать свечение)</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''boGlow'', boReflect, boOverlay, boDarkOverlay, boDarken, boMultiply, boColorBurn,</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''boGlow'', boReflect, boOverlay, boDarkOverlay, boDarken, boMultiply, boColorBurn,</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Masking blend modes (tends to decrease the luminosity)</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Маскировка режимов наложения (имеет тенденцию уменьшать свечение)</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''boDifference'', boLinearDifference, boExclusion, boLinearExclusion, boSubtract, boLinearSubtract, boSubtractInverse, boLinearSubtractInverse,</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''boDifference'', boLinearDifference, boExclusion, boLinearExclusion, boSubtract, boLinearSubtract, boSubtractInverse, boLinearSubtractInverse,</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Difference blend modes</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Режимы смешивания различий</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''boNegation'', boLinearNegation,</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''boNegation'', boLinearNegation,</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Negation blend modes</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Режимы наложения негатива</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''boXor'');</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''boXor'');</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Xor blend mode. It is sightly different from ''dmXor'' because the alpha value is used like in other blends modes</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Режим смешивания Xor. Он немного отличается от ''dm Xor'', поскольку альфа-значение используется, как и в других режимах наложения.</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''boGlowMask'' = boGlow;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''boGlowMask'' = boGlow;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Alias to glow that express that this blend mode masks the part where the top layer is black</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Псевдоним свечения, который выражает, что этот режим смешивания маскирует часть, где верхний слой черный</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''boLinearMultiply'' = boMultiply;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''boLinearMultiply'' = boMultiply;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Alias because linear or non linear multiply modes are identical</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Псевдоним, потому что линейные или нелинейные режимы умножения идентичны</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''boNonLinearOverlay'' = boDarkOverlay;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''boNonLinearOverlay'' = boDarkOverlay;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Alias to express that dark overlay is simply an overlay with gamma correction</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Псевдоним, чтобы выразить это темное наложение - это просто наложение с гамма-коррекцией</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''BlendOperationStr'' : '''array'''[TBlendOperation] '''of''' '''string'''</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''BlendOperationStr'' : '''array'''[TBlendOperation] '''of''' '''string'''</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">String constants for blend modes</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Строковые константы для режимов наложения</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' StrToBlendOperation(str: '''string'''): TBlendOperation;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' StrToBlendOperation(str: '''string'''): TBlendOperation;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the blend mode expressed by the string</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Возвращает режим наложения, выраженный строкой</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TChannel'' = (cRed, cGreen, cBlue, cAlpha);</td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TChannel'' = (cRed, cGreen, cBlue, cAlpha);</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Possible channels in a bitmap using any RGBA colorspace</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Возможные каналы в растровом изображении с использованием любого цветового пространства RGBA</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''TChannels'' = set '''of''' TChannel;</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''TChannels'' = set '''of''' TChannel;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Combination of channels</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Сочетание каналов</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TAlphaChannelPaletteOption'' = (</td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TAlphaChannelPaletteOption'' = (</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Specifies how a palette handles the alpha channel</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Определяет, как палитра обрабатывает альфа-канал</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''acIgnore'',</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''acIgnore'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">The alpha channel is ignored. The alpha channel is considered to be stored elsewhere</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Альфа-канал игнорируется. Считается, что альфа-канал хранится в другом месте.</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''acTransparentEntry'',</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''acTransparentEntry'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">One entry is allocated the fully transparent color</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Одна точка входа выделяется полностью прозрачным цветом</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''acFullChannelInPalette'');</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''acFullChannelInPalette'');</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">The alpha channel is fully embedded in the palette so that a color is identified by its four RGBA channels</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Альфа-канал полностью встроен в палитру, поэтому цвет определяется четырьмя каналами RGBA.</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TDitheringAlgorithm'' = (</td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TDitheringAlgorithm'' = (</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Dithering algorithms that specifies how to handle colors that are not found in the palette</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Алгоритмы сглаживания, которые определяют, как обрабатывать цвета, которые не найдены в палитре</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''daNearestNeighbor'',</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''daNearestNeighbor'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">The nearest color is to be used instead</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Ближайший цвет должен использоваться вместо</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''daFloydSteinberg'');</td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''daFloydSteinberg'');</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">The nearest color may be used however another color may be used to compensate for the error, following Floyd-Steinberg algorithm</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Можно использовать ближайший цвет, но можно использовать и другой цвет для компенсации ошибки, следуя алгоритму Флойда-Стейнберга</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
</table>
 
</table>
  
 
[[Category: BGRABitmap]]
 
[[Category: BGRABitmap]]

Latest revision as of 01:02, 16 January 2020

English (en) русский (ru)

Список типов пикселей и функций библиотеки BGRABitmap. Они предоставляются модулем BGRABitmapTypes.

Типы пикселей и функции

PBGRAPixel = ^TBGRAPixel;
Указатель для прямого доступа к пикселям. Данные хранятся в виде последовательности TBGRAPixel. См. BGRABitmap tutorial 4
TBGRAPixel = packed record blue, green, red, alpha: byte;
Каждый пиксель представляет собой последовательность из 4 байтов, содержащую синий, зеленый, красный и альфа-канал. Диапазон значений от 0 до 255, цвет в цветовом пространстве sRGB. Альфа-значение: 0 - прозрачно, 255 - непрозрачно. В растровых данных, когда пиксель полностью прозрачен, значения RGB должны быть установлены на ноль.
function BGRA(red, green, blue, alpha: byte): TBGRAPixel; overload; inline;
Создает пиксель с заданными значениями RGBA
function BGRA(red, green, blue: byte): TBGRAPixel; overload; inline;
Создает непрозрачный пиксель с заданными значениями RGB
operator = (const c1, c2: TBGRAPixel): boolean; inline;
Проверяет, равны ли два пикселя. Если они оба прозрачны, значения RGB игнорируются
function GetIntensity(c: TBGRAPixel): word; inline;
Возвращает интенсивность пикселя. Интенсивность - это максимальное значение, достигаемое любым компонентом
function SetIntensity(c: TBGRAPixel; intensity: word): TBGRAPixel;
Устанавливает интенсивность пикселя
function GetLightness(c: TBGRAPixel): word;
Возвращает свечение пикселя. Свечение - это воспринимаемая яркость, 0 - черный, а 65535 - белый.
function SetLightness(c: TBGRAPixel; lightness: word): TBGRAPixel;
Возвращает свечение пикселя
function ApplyLightnessFast(color: TBGRAPixel; lightness: word): TBGRAPixel; inline;
Быстро устанавливает свечение, уменьшая в сторону черного, если lightness меньше 32768, и уменьшая в сторону белого, если lightness больше 32768
function ApplyIntensityFast(color: TBGRAPixel; lightness: longword): TBGRAPixel;
Быстро устанавливает интенсивность, уменьшая в сторону черного, если lightness меньше 32768, и умножая все составляющие, если lightness больше 32768. В случае насыщения, она исчезает в сторону белого
function CombineLightness(lightness1,lightness2: Int32or64): Int32or64;
Объединяет две яркости вместе. Значение 32768 является нейтральным. Результат может превысить 65535
function BGRAToGrayscale(c: TBGRAPixel): TBGRAPixel;
Преобразует цвет в оттенки серого
function GrayscaleToBGRA(lightness: word): TBGRAPixel;
Создает серый цвет с заданной яркостью
function MergeBGRA(c1, c2: TBGRAPixel): TBGRAPixel; overload;
Слияние двух цветов без гамма-коррекции
function MergeBGRA(c1: TBGRAPixel; weight1: integer; c2: TBGRAPixel; weight2: integer): TBGRAPixel; overload;
Слияние двух цветов без гамма-коррекции. weight1 и weight2 указывает на вес цветового барицентра
function MergeBGRAWithGammaCorrection(c1: TBGRAPixel; weight1: byte; c2: TBGRAPixel; weight2: byte): TBGRAPixel;
Слияние двух цветов с гамма-коррекцией. weight1 и weight2 указывает на вес цветового барицентра
function ColorToBGRA(color: TColor): TBGRAPixel; overload;
Преобразует значение TColor в непрозрачный пиксель
function ColorToBGRA(color: TColor; opacity: byte): TBGRAPixel; overload;
Преобразует значение TColor в пиксель с заданной непрозрачностью
function BGRAToColor(c: TBGRAPixel): TColor;
Преобразует пиксель в значение TColor, отбрасывая значение альфа
function FPColorToBGRA(AValue: TFPColor): TBGRAPixel;
Преобразует значение TFPColor в пиксель. Обратите внимание, что даже если TFPColor имеет 16-битные значения, они не считаются расширенной гаммой
function BGRAToFPColor(AValue: TBGRAPixel): TFPColor; inline;
Преобразует пиксель в TFPColor
function BGRAWordDiff(c1, c2: TBGRAPixel): word;
Вычисляет разницу (с гамма-коррекцией) между двумя пикселями с учетом всех размеров, включая прозрачность. Результат варьирует от 0 до 65535
function BGRADiff(c1, c2: TBGRAPixel): byte;
Вычисляет разницу (с гамма-коррекцией) между двумя пикселями с учетом всех размеров, включая прозрачность. Результат варьирует от 0 до 255
ArrayOfTBGRAPixel = array of TBGRAPixel;
Массив пикселей
function MergeBGRA(const colors: array of TBGRAPixel): TBGRAPixel; overload;
Объединяет данные цвета без гамма-коррекции
TExpandedPixel = packed record red, green, blue, alpha: word;
Хранит гамму расширенного цвета RGB. Диапазон значений от 0 до 65535
function GammaExpansion(c: TBGRAPixel): TExpandedPixel; inline;
Преобразует пиксель из sRGB в расширенную гамму RGB
function GammaCompression(const ec: TExpandedPixel): TBGRAPixel; inline;
Преобразует пиксель из гамма-развернутого RGB в sRGB
function GammaCompression(red,green,blue,alpha: word): TBGRAPixel; inline;
Преобразует пиксель из гамма-развернутого RGB в sRGB
function GetIntensity(const c: TExpandedPixel): word; inline;
Возвращает интенсивность гамма-расширенного пикселя. Интенсивность - это максимальное значение, достигаемое любым компонентом
function SetIntensity(const c: TExpandedPixel; intensity: word): TExpandedPixel;
Устанавливает интенсивность гамма-расширенного пикселя
function GetLightness(const c: TExpandedPixel): word; inline;
Возвращает яркость гамма-расширенного пикселя. lightness - это воспринимаемая яркость, 0 - черный, а 65535 - белый.
function SetLightness(const c: TExpandedPixel; lightness: word): TExpandedPixel;
Устанавливает яркость гамма-развернутого пикселя
function SetLightness(const c: TExpandedPixel; lightness: word; curLightness: word): TExpandedPixel;
Устанавливает яркость расширенного гамма-пикселя при условии, что вы уже знаете текущее значение яркости curlightness. Это немного быстрее, чем предыдущая функция
function ColorImportance(ec: TExpandedPixel): word;
Возвращает важность цвета. Это похоже на насыщенность в цветовом пространстве HSL, за исключением того, что это гамма-коррекция. Значение ноль обозначает черный/серый/белый, а значение 65535 обозначает яркий цвет
function MergeBGRA(ec1, ec2: TExpandedPixel): TExpandedPixel; overload;
Объединение двух расширенных гамма-пикселей (с учетом коррекции гаммы)
function ExpandedDiff(ec1, ec2: TExpandedPixel): word;
Вычисляет разницу (с гамма-коррекцией) между двумя пикселями с учетом всех размеров, включая прозрачность. Результат варьирует от 0 до 65535
THSLAPixel = packed record
Цвет пикселя определяется в цветовом пространстве HSL. Диапазон значений от 0 до 65535
hue: word;
Оттенок пикселя. Экстремальные значения 0 и 65535 - красные
saturation: word;
Насыщенность цвета. 0 - серый, а 65535 - самый яркий цвет
lightness: word;
Яркость цвета. 0 черный, 32768 нормальный, 65535 белый
alpha: word;
Непрозрачность пикселя. 0 прозрачный и 65535 непрозрачный
function HSLA(hue, saturation, lightness, alpha: word): THSLAPixel; overload; inline;
Создает пиксель с заданными значениями HSLA, где A обозначает альфа
function HSLA(hue, saturation, lightness: word): THSLAPixel; overload; inline;
Создает непрозрачный пиксель с заданными значениями HSL
function BGRAToHSLA(c: TBGRAPixel): THSLAPixel;
Преобразует пиксель из sRGB в цветовое пространство HSL
function ExpandedToHSLA(const ec: TExpandedPixel): THSLAPixel;
Преобразует пиксель из гамма-развернутого RGB в цветовое пространство HSL
function HSLAToExpanded(const c: THSLAPixel): TExpandedPixel;
Преобразует пиксель из гамма-развернутого RGB в цветовое пространство HSL
function HSLAToBGRA(const c: THSLAPixel): TBGRAPixel;
Преобразует пиксель из цветового пространства HSL в sRGB
function HueDiff(h1, h2: word): word;
Вычисляет разницу оттенков
function GetHue(ec: TExpandedPixel): word;
Возвращает оттенок расширенного гамма-пикселя
TGSBAPixel = THSLAPixel;
Цвет пикселя определяется в исправленном цветовом пространстве HSL. G обозначает исправленный оттенок, а B обозначает фактическую яркость. Диапазон значений от 0 до 65535
function BGRAToGSBA(c: TBGRAPixel): TGSBAPixel;
Преобразует пиксель из sRGB в корректное цветовое пространство HSL
function ExpandedToGSBA(ec: TExpandedPixel): TGSBAPixel;
Преобразует пиксель из гамма-развернутого RGB в корректное цветовое пространство HSL
function GtoH(ghue: word): word;
Преобразует оттенок G (GSBA) в оттенок H (HSLA)
function HtoG(hue: word): word;
Преобразует оттенок H (HSLA) в оттенок G (GSBA)
function GSBAToBGRA(c: TGSBAPixel): TBGRAPixel;
Преобразует пиксель из исправленного HSL в sRGB
function GSBAToExpanded(c: TGSBAPixel): TExpandedPixel;
Преобразует пиксель из корректного HSL в расширенный гамма RGB
function GSBAToHSLA(c: TGSBAPixel): THSLAPixel;
Преобразует пиксель из корректного HSL в обычный HSL
TColorF = packed array[1..4] of single;
Цветовая переменная общего назначения со значениями с плавающей точкой одинарной точности
function ColorF(red,green,blue,alpha: single): TColorF;
Создает структуру TColorF
operator - (const c1, c2: TColorF): TColorF; inline;
Вычитает каждый компонент отдельно
operator + (const c1, c2: TColorF): TColorF; inline;
Добавляет каждый компонент отдельно
operator * (const c1, c2: TColorF): TColorF; inline;
Умножает каждый компонент отдельно
operator * (const c1: TColorF; factor: single): TColorF; inline;
Умножает каждый компонент на factor
TDrawMode = (
Возможные режимы при рисовании пикселя поверх другого
dmSet,
Пиксель заменяется
dmSetExceptTransparent,
Пиксель заменяется, если пиксель имеет значение альфа 255
dmLinearBlend,
Пиксель смешивается с другим в соответствии с альфа-значениями, однако гамма-коррекция не применяется. Другими словами, цветовое пространство предполагается линейным
dmDrawWithTransparency,
Пиксель смешивается с другим в соответствии с альфа-значениями, и применяется гамма-коррекция. Другими словами, цветовое пространство предполагается sRGB
dmXor);
Значения всех каналов объединяются [посредством] Xor. Это полезно для вычисления двоичной разницы, однако не имеет смысла отображать на экране
dmFastBlend = dmLinearBlend;
Псевдоним для линейного наложения, потому что он быстрее, чем наложение с гамма-коррекцией
TBlendOperation = (
Расширенные режимы наложения. См. Paint.NET blend modes и Formulas. Смешивание слоев имеет два этапа. Первый - применяются операции смешивания, перечисленные ниже, а второй - фактическое слияние цветов.
boLinearBlend,
Простое смешивание, за исключением того, что оно вызывает линейное объединение, поэтому оно эквивалентно dmLinearBlend
boTransparent,
Простое смешивание. Оно эквивалентно dmLinearBlend или dmDrawWithTransparency
boLighten, boScreen, boAdditive, boLinearAdd, boColorDodge, boDivide, boNiceGlow, boSoftLight, boHardLight,
Режимы смешивания яркости (имеют тенденцию увеличивать свечение)
boGlow, boReflect, boOverlay, boDarkOverlay, boDarken, boMultiply, boColorBurn,
Маскировка режимов наложения (имеет тенденцию уменьшать свечение)
boDifference, boLinearDifference, boExclusion, boLinearExclusion, boSubtract, boLinearSubtract, boSubtractInverse, boLinearSubtractInverse,
Режимы смешивания различий
boNegation, boLinearNegation,
Режимы наложения негатива
boXor);
Режим смешивания Xor. Он немного отличается от dm Xor, поскольку альфа-значение используется, как и в других режимах наложения.
boGlowMask = boGlow;
Псевдоним свечения, который выражает, что этот режим смешивания маскирует часть, где верхний слой черный
boLinearMultiply = boMultiply;
Псевдоним, потому что линейные или нелинейные режимы умножения идентичны
boNonLinearOverlay = boDarkOverlay;
Псевдоним, чтобы выразить это темное наложение - это просто наложение с гамма-коррекцией
BlendOperationStr : array[TBlendOperation] of string
Строковые константы для режимов наложения
function StrToBlendOperation(str: string): TBlendOperation;
Возвращает режим наложения, выраженный строкой
TChannel = (cRed, cGreen, cBlue, cAlpha);
Возможные каналы в растровом изображении с использованием любого цветового пространства RGBA
TChannels = set of TChannel;
Сочетание каналов
TAlphaChannelPaletteOption = (
Определяет, как палитра обрабатывает альфа-канал
acIgnore,
Альфа-канал игнорируется. Считается, что альфа-канал хранится в другом месте.
acTransparentEntry,
Одна точка входа выделяется полностью прозрачным цветом
acFullChannelInPalette);
Альфа-канал полностью встроен в палитру, поэтому цвет определяется четырьмя каналами RGBA.
TDitheringAlgorithm = (
Алгоритмы сглаживания, которые определяют, как обрабатывать цвета, которые не найдены в палитре
daNearestNeighbor,
Ближайший цвет должен использоваться вместо
daFloydSteinberg);
Можно использовать ближайший цвет, но можно использовать и другой цвет для компенсации ошибки, следуя алгоритму Флойда-Стейнберга