PremultiplyComponents
RasterImage.PremultiplyComponents property
Görüntü bileşenlerinin önceden çoğaltılması gerekip gerekmediğini belirten bir değer alır veya ayarlar.
public virtual bool PremultiplyComponents { get; set; }
Mülk değeri
doğru
görüntü bileşenlerinin önceden çoğaltılması gerekiyorsa; aksi halde,yanlış
.
Örnekler
Aşağıdaki örnek, yeni bir tarama görüntüsü oluşturur, belirtilen yarı saydam pikselleri kaydeder, ardından bu pikselleri yükler ve önceden çarpılmış biçimde nihai renkleri alır.
[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.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream(), true);
createOptions.ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.TruecolorWithAlpha;
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(createOptions, imageWidth, imageHeight))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Tüm görüntü için pikselleri kaydedin.
rasterImage.SavePixels(rasterImage.Bounds, colors);
// Pikseller orijinal görüntüde önceden çarpılmamış biçimde saklanır.
// Önceden çarpılmış renk bileşenlerini elde etmek için ilgili seçeneği açıkça belirtmeniz gerekiyor.
// Önceden çarpılmış renk bileşenleri şu formüllerle hesaplanır:
// kırmızı = orijinal_kırmızı * alfa / 255;
// yeşil = orijinal_yeşil * alfa / 255;
// mavi = orijinal_mavi * alfa / 255;
rasterImage.PremultiplyComponents = true;
Aspose.Imaging.Color[] premultipliedColors = rasterImage.LoadPixels(rasterImage.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());
}
}
Ayrıca bakınız
- class RasterImage
- ad alanı Aspose.Imaging
- toplantı Aspose.Imaging