Class ColorPaletteHelper
Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)
Renk paletleri ile çalışmak için yardımcı sınıf.
public static class ColorPaletteHelper
Miras
Miras Alınan Üyeler
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Yöntemler
Create4Bit()
4 bit renk paletini oluşturur.
public static IColorPalette Create4Bit()
Dönüş
4 bit renk paleti.
Create4BitGrayscale(bool)
4 bit gri ton paletini oluşturur.
public static IColorPalette Create4BitGrayscale(bool minIsWhite)
Parametreler
minIsWhite
bool
#### Dönüş
[IColorPalette](/imaging/aspose.imaging.icolorpalette)
4 bit gri ton paleti.
### <a id="Aspose_Imaging_ColorPaletteHelper_Create8Bit"></a> Create8Bit\(\)
8 bit renk paletini oluşturur.
```csharp
public static IColorPalette Create8Bit()
Dönüş
8 bit renk paleti.
Create8BitGrayscale(bool)
8 bit gri ton paletini oluşturur.
public static IColorPalette Create8BitGrayscale(bool minIsWhite)
Parametreler
minIsWhite
bool
#### Dönüş
[IColorPalette](/imaging/aspose.imaging.icolorpalette)
8 bit gri ton paleti.
#### Örnekler
Aşağıdaki örnek, paletli bir gri ton BMP görüntüsü oluşturur ve ardından bunu bir dosyaya kaydeder.```csharp
[C#]
string dir = "c:\\temp\\";
Aspose.Imaging.ImageOptions.BmpOptions createOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
// Bir dosyaya kaydet
createOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(dir + "output.palette8bit.bmp", false);
// Çıktı görüntüsünün boyutunu azaltmak için piksel başına 8 bit kullanın.
createOptions.BitsPerPixel = 8;
// Tüm gri ton renklerini kapsayan standart 8 bit gri ton renk paletini ayarlayın.
// İşlenen görüntü yalnızca gri ton renkleri içeriyorsa, paletli versiyonu
// paletsiz olanından görsel olarak ayırt edilemez.
createOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
// Sıkıştırma olmadan kaydedin.
// Çıktı görüntüsünün boyutunu azaltmak için RLE-8 sıkıştırmasını da kullanabilirsiniz.
createOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;
// Yatay ve dikey çözünürlüğü 96 dpi olarak ayarlayın.
createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
// 100 x 100 px boyutunda bir BMP görüntüsü oluşturun ve bunu bir dosyaya kaydedin.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(createOptions, 100, 100))
{
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(image);
Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(image.Width, image.Height),
Aspose.Imaging.Color.Black,
Aspose.Imaging.Color.White);
// Görüntüyü gri tonlu bir gradyan ile doldurun
graphics.FillRectangle(gradientBrush, image.Bounds);
image.Save();
}
CreateGrayscale(int)
Belirtilen bit sayısına sahip gri ton paletini alır. İzin verilen bit değerleri 1, 2, 4, 8’dir.
public static IColorPalette CreateGrayscale(int bits)
Parametreler
bits
int
Bit sayısı.
Dönüş
Gri ton paleti.
İstisnalar
bits
CreateMonochrome()
Sadece 2 renk içeren bir monokrom renk paleti oluşturur.
public static IColorPalette CreateMonochrome()
Dönüş
Monokrom görüntüler için renk paleti.
GetCloseImagePalette(RasterImage, int)
Raster görüntüden renk paletini alır (görüntüyü paletler) eğer görüntünün bir paleti yoksa. Eğer palet mevcutsa, hesaplamalar yerine kullanılacaktır.
public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount)
Parametreler
image
RasterImage
Raster görüntü.
entriesCount
int
İstenilen giriş sayısı.
Dönüş
image
‘den en sık kullanılan renklerle başlayan ve entriesCount
girişini içeren renk paleti.
Örnekler
Aşağıdaki örnek, bir BMP görüntüsünü yükler ve çeşitli kaydetme seçenekleri kullanarak geri kaydeder.```csharp [C#]
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// BmpOptions oluştur
Aspose.Imaging.ImageOptions.BmpOptions saveOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
// Çıktı görüntüsünün boyutunu azaltmak için piksel başına 8 bit kullanın.
saveOptions.BitsPerPixel = 8;
// Paletli bir görüntü ile paletsiz görüntü arasında görsel olarak ayırt edilemeyecek şekilde
// görüntü piksellerinin maksimum sayısını kapsayan en yakın 8 bit renk paletini ayarlayın.
saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(rasterImage, 256);
// Sıkıştırma olmadan kaydedin.
// Çıktı görüntüsünün boyutunu azaltmak için RLE-8 sıkıştırmasını da kullanabilirsiniz.
saveOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;
// Yatay ve dikey çözünürlüğü 96 dpi olarak ayarlayın.
saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
image.Save(dir + "sample.bmpoptions.bmp", saveOptions);
}
Aşağıdaki örnek, bir BMP görüntüsünü paletleyerek çıktı boyutunu azaltmanın nasıl yapılacağını gösterir.```csharp
[C#]
// 100 x 100 px boyutunda bir BMP görüntüsü oluşturun.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
// Görüntünün sol üst köşesinden sağ alt köşesine doğru lineer gradyan.
Aspose.Imaging.Brushes.LinearGradientBrush brush =
new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(bmpImage.Width, bmpImage.Height),
Aspose.Imaging.Color.Red,
Aspose.Imaging.Color.Green);
// Tüm görüntüyü lineer gradyan fırçası ile doldurun.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
gr.FillRectangle(brush, bmpImage.Bounds);
// Mümkün olduğunca çok pikseli kapsayan en yakın 8 bit renk paletini alın, böylece paletli bir görüntü
// paletsiz olanından görsel olarak ayırt edilemez.
Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(bmpImage, 256);
// 8 bit palet en fazla 256 renk içerir.
Aspose.Imaging.ImageOptions.BmpOptions saveOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
saveOptions.Palette = palette;
saveOptions.BitsPerPixel = 8;
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
bmpImage.Save(stream, saveOptions);
System.Console.WriteLine("Paletli görüntü boyutu {0} bayttır.", stream.Length);
}
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
bmpImage.Save(stream);
System.Console.WriteLine("Paletsiz görüntü boyutu {0} bayttır.", stream.Length);
}
}
// Çıktı şöyle görünür:
// Paletli görüntü boyutu 11078 bayttır.
// Paletsiz görüntü boyutu 40054 bayttır.
GetCloseImagePalette(RasterImage, int, PaletteMiningMethod)
Raster görüntüden renk paletini alır (görüntüyü paletler) eğer görüntünün bir paleti yoksa. Palet, daha iyi indekslenmiş görüntü kalitesi için optimize edilecektir veya PaletteMiningMethod.UseCurrentPalette kullanıldığında “AS IS” alınacaktır.
public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount, PaletteMiningMethod paletteMiningMethod)
Parametreler
image
RasterImage
Raster görüntü.
entriesCount
int
İstenilen giriş sayısı.
paletteMiningMethod
PaletteMiningMethod
Palet madenciliği yöntemi.
Dönüş
image
‘den en sık kullanılan renklerle başlayan ve entriesCount
girişini içeren renk paleti.
Örnekler
Aşağıdaki örnek, en iyi uyumlu palet ile indekslenmiş renk kullanarak bir PNG görüntüsünü sıkıştırmanın nasıl yapılacağını gösterir.```csharp [C#]
// png görüntüsünü yükler
string sourceFilePath="OriginalRings.png";
string outputFilePath="OriginalRingsOutput.png";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(sourceFilePath))
{
image.Save(outputFilePath, new Aspose.Imaging.ImageOptions.PngOptions()
{
Progressive = true,
// İndekslenmiş renk türünü kullan
ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.IndexedColor,
// Maksimum sıkıştırmayı kullan
CompressionLevel = 9,
// Mümkün olduğunca çok pikseli kapsayan en yakın 8 bit renk paletini al, böylece paletli bir görüntü
// paletsiz olanından görsel olarak ayırt edilemez.
Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette((Aspose.Imaging.RasterImage)image, 256, Aspose.Imaging.PaletteMiningMethod.Histogram)
});
}
// Çıktı dosya boyutu önemli ölçüde azaltılmalıdır
### <a id="Aspose_Imaging_ColorPaletteHelper_GetCloseImagePalette_Aspose_Imaging_RasterImage_Aspose_Imaging_Rectangle_System_Int32_"></a> GetCloseImagePalette\(RasterImage, Rectangle, int\)
Raster görüntüden renk paletini alır (görüntüyü paletler) eğer görüntünün bir paleti yoksa. Eğer palet mevcutsa, hesaplamalar yerine kullanılacaktır.
```csharp
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount)
Parametreler
image
RasterImage
Raster görüntü.
destBounds
Rectangle
Hedef görüntü sınırları.
entriesCount
int
İstenilen giriş sayısı.
Dönüş
image
‘den en sık kullanılan renklerle başlayan ve entriesCount
girişini içeren renk paleti.
GetCloseImagePalette(RasterImage, Rectangle, int, bool)
Raster görüntüden renk paletini alır (görüntüyü paletler) eğer görüntünün bir paleti yoksa. Eğer palet mevcutsa, hesaplamalar yerine kullanılacaktır.
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount, bool useImagePalette)
Parametreler
image
RasterImage
Raster görüntü.
destBounds
Rectangle
Hedef görüntü sınırları.
entriesCount
int
İstenilen giriş sayısı.
useImagePalette
bool
Eğer ayarlanırsa, mevcutsa kendi görüntü paletini kullanacaktır.
Dönüş
image
‘den en sık kullanılan renklerle başlayan ve entriesCount
girişini içeren renk paleti.
GetCloseImagePalette(RasterImage, Rectangle, int, bool, Color)
Raster görüntüden renk paletini alır (görüntüyü paletler) eğer görüntünün bir paleti yoksa. Eğer palet mevcutsa, hesaplamalar yerine kullanılacaktır.
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount, bool useImagePalette, Color alphaBlendInColor)
Parametreler
image
RasterImage
Raster görüntü.
destBounds
Rectangle
Hedef görüntü sınırları.
entriesCount
int
İstenilen giriş sayısı.
useImagePalette
bool
Eğer ayarlanırsa, mevcutsa kendi görüntü paletini kullanacaktır.
alphaBlendInColor
Color
Yarı saydam alfa yerine geçişi için arka plan rengi olarak kullanılacak renk.
Dönüş
image
‘den en sık kullanılan renklerle başlayan ve entriesCount
girişini içeren renk paleti.
GetCloseImagePalette(RasterImage, Rectangle, int, bool, Color, bool)
Raster görüntüden renk paletini alır (görüntüyü paletler) eğer görüntünün bir paleti yoksa. Eğer palet mevcutsa, hesaplamalar yerine kullanılacaktır.
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount, bool useImagePalette, Color alphaBlendInColor, bool keepTransparency)
Parametreler
image
RasterImage
Raster görüntü.
destBounds
Rectangle
Hedef görüntü sınırları.
entriesCount
int
İstenilen giriş sayısı.
useImagePalette
bool
Eğer ayarlanırsa, mevcutsa kendi görüntü paletini kullanacaktır.
alphaBlendInColor
Color
Yarı saydam alfa yerine geçişi için arka plan rengi olarak kullanılacak renk.
keepTransparency
bool
Eğer ayarlanırsa, görüntü renklerinin alfa kanal bitlerini dikkate alacaktır.
Dönüş
image
‘den en sık kullanılan renklerle başlayan ve entriesCount
girişini içeren renk paleti.
GetCloseTransparentImagePalette(RasterImage, int)
Raster görüntüden renk paletini alır (görüntüyü paletler) eğer görüntünün bir paleti yoksa. Eğer palet mevcutsa, hesaplamalar yerine kullanılacaktır.
public static IColorPalette GetCloseTransparentImagePalette(RasterImage image, int entriesCount)
Parametreler
image
RasterImage
Raster görüntü.
entriesCount
int
İstenilen giriş sayısı.
Dönüş
image
‘den en sık kullanılan renklerle başlayan ve entriesCount
girişini içeren renk paleti.
GetDownscalePalette(RasterImage)
Başlangıç görüntüsünün renk değerlerinin üst bitlerinden oluşan 256 renk paletini alır.
public static ColorPalette GetDownscalePalette(RasterImage image)
Parametreler
image
RasterImage
Görüntü.
Dönüş
Aspose.Imaging.ColorPalette.
GetUniformColorPalette(RasterImage)
Uniform 256 renk paletini alır.
public static ColorPalette GetUniformColorPalette(RasterImage image)
Parametreler
image
RasterImage
Görüntü.
Dönüş
Aspose.Imaging.ColorPalette.
HasTransparentColors(IColorPalette)
Belirtilen paletin saydam renkleri olup olmadığını belirler.
public static bool HasTransparentColors(IColorPalette palette)
Parametreler
palette
IColorPalette
Palet.
Dönüş
cstrue</code> eğer belirtilen palet saydam renkler içeriyorsa; aksi takdirde
csfalse.
İstisnalar
palette
null.