PremultiplyComponents
TiffImage.PremultiplyComponents property
Получает или задает значение, указывающее, должны ли компоненты предварительно умножаться.
public override bool PremultiplyComponents { get; set; }
Стоимость имущества
истинный
если компоненты должны быть предварительно умножены; в противном случае,ЛОЖЬ
.
Примеры
В следующем примере создается новое изображение TIFF, сохраняются указанные полупрозрачные пиксели, затем загружаются эти пиксели и получаются окончательные цвета в предварительно умноженной форме.
[C#]
int imageWidth = 3;
int imageHeight = 2;
Aspose.Imaging.Color[] colors = new Aspose.Imaging.Color[]
{
Aspose.Imaging.Color.FromArgb(127, 255, 0, 0),
Aspose.Imaging.Color.FromArgb(127, 0, 255, 0),
Aspose.Imaging.Color.FromArgb(127, 0, 0, 255),
Aspose.Imaging.Color.FromArgb(127, 255, 255, 0),
Aspose.Imaging.Color.FromArgb(127, 255, 0, 255),
Aspose.Imaging.Color.FromArgb(127, 0, 255, 255),
};
Aspose.Imaging.ImageOptions.TiffOptions createOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.TiffDeflateRgba);
createOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream(), true);
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Create(createOptions, imageWidth, imageHeight))
{
// Сохраняем пиксели для всего изображения.
image.SavePixels(image.Bounds, colors);
// Пиксели сохраняются в исходном изображении в неумноженном виде.
// Необходимо явно указать соответствующую опцию, чтобы получить предварительно умноженные компоненты цвета.
// Предумноженные компоненты цвета рассчитываются по формулам:
// red = original_red * alpha/255;
// зеленый = original_green * альфа / 255;
// blue = original_blue * alpha/255;
image.PremultiplyComponents = true;
Aspose.Imaging.Color[] premultipliedColors = image.LoadPixels(image.Bounds);
for (int i = 0; i < colors.Length; i++)
{
System.Console.WriteLine("Original color: {0}", colors[i].ToString());
System.Console.WriteLine("Premultiplied color: {0}", premultipliedColors[i].ToString());
}
}
//Вывод будет выглядеть так:
//Исходный цвет: Color [A=127, R=255, G=0, B=0]
//Цвет с предварительным умножением: Color [A=127, R=127, G=0, B=0]
//Исходный цвет: Color [A=127, R=0, G=255, B=0]
//Цвет с предварительным умножением: Color [A=127, R=0, G=127, B=0]
//Исходный цвет: Color [A=127, R=0, G=0, B=255]
//Цвет с предварительным умножением: Color [A=127, R=0, G=0, B=127]
//Исходный цвет: Color [A=127, R=255, G=255, B=0]
//Цвет с предварительным умножением: Color [A=127, R=127, G=127, B=0]
//Исходный цвет: Color [A=127, R=255, G=0, B=255]
//Цвет с предварительным умножением: Color [A=127, R=127, G=0, B=127]
//Исходный цвет: Color [A=127, R=0, G=255, B=255]
//Цвет с предварительным умножением: Color [A=127, R=0, G=127, B=127]
Смотрите также
- class TiffImage
- пространство имен Aspose.Imaging.FileFormats.Tiff
- сборка Aspose.Imaging