GetCloseImagePalette
GetCloseImagePalette(RasterImage, int)
Ruft die Farbpalette vom Rasterbild ab (palettiert das Bild), falls das Bild keine hat. Falls eine Palette vorhanden ist, wird sie verwendet, anstatt Berechnungen durchzuführen.
public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount)
Parameter | Typ | Beschreibung |
---|---|---|
image | RasterImage | Das Rasterbild. |
entriesCount | Int32 | Es zählen die gewünschten Einträge. |
Rückgabewert
Die Farbpalette, die mit den häufigsten Farben aus dem beginntimage und enthältentriesCount Einträge.
Beispiele
Das folgende Beispiel lädt ein BMP-Bild und speichert es mit verschiedenen Speicheroptionen wieder in BMP.
[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 erstellen
Aspose.Imaging.ImageOptions.BmpOptions saveOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
// Verwenden Sie 8 Bit pro Pixel, um die Größe des Ausgabebilds zu reduzieren.
saveOptions.BitsPerPixel = 8;
// Legen Sie die nächste 8-Bit-Farbpalette fest, die die maximale Anzahl von Bildpixeln abdeckt, sodass ein palettisiertes Bild entsteht
// ist optisch kaum von einem nicht palettierten zu unterscheiden.
saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(rasterImage, 256);
// Ohne Komprimierung speichern.
// Sie können auch die RLE-8-Komprimierung verwenden, um die Größe des Ausgabebilds zu reduzieren.
saveOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;
// Legen Sie die horizontale und vertikale Auflösung auf 96 dpi fest.
saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
image.Save(dir + "sample.bmpoptions.bmp", saveOptions);
}
Das folgende Beispiel zeigt, wie ein BMP-Bild palettiert wird, um seine Ausgabegröße zu reduzieren.
[C#]
// Erstellen Sie ein BMP-Bild 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
// Der lineare Farbverlauf von der linken oberen zur rechten unteren Ecke des Bildes.
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);
// Füllen Sie das gesamte Bild mit dem linearen Verlaufspinsel.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
gr.FillRectangle(brush, bmpImage.Bounds);
// Holen Sie sich die nächste 8-Bit-Farbpalette, die so viele Pixel wie möglich abdeckt, um ein palettisiertes Bild zu erhalten
// ist optisch kaum von einem nicht palettierten zu unterscheiden.
Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(bmpImage, 256);
// 8-Bit-Palette enthält höchstens 256 Farben.
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("The palettized image size is {0} bytes.", stream.Length);
}
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
bmpImage.Save(stream);
System.Console.WriteLine("The non-palettized image size is {0} bytes.", stream.Length);
}
}
// Die Ausgabe sieht so aus:
// Die palettierte Bildgröße beträgt 11078 Bytes.
// Die nicht palettierte Bildgröße beträgt 40054 Byte.
Siehe auch
- interface IColorPalette
- class RasterImage
- class ColorPaletteHelper
- namensraum Aspose.Imaging
- Montage Aspose.Imaging
GetCloseImagePalette(RasterImage, int, PaletteMiningMethod)
Ruft die Farbpalette vom Rasterbild ab (palettiert das Bild), falls das Bild keine hat. Die Palette wird gerade für eine bessere indizierte Bildqualität optimiert oder “WIE BESEHEN” übernommen, wenn PaletteMiningMethod.UseCurrentPalette verwendet wird.
public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount,
PaletteMiningMethod paletteMiningMethod)
Parameter | Typ | Beschreibung |
---|---|---|
image | RasterImage | Das Rasterbild. |
entriesCount | Int32 | Es zählen die gewünschten Einträge. |
paletteMiningMethod | PaletteMiningMethod | Die Palette-Mining-Methode. |
Rückgabewert
Die Farbpalette, die mit den häufigsten Farben aus dem beginntimage und enthältentriesCount Einträge.
Beispiele
Das folgende Beispiel zeigt, wie Sie ein PNG-Bild komprimieren, indem Sie indizierte Farben mit der Palette „Best Fit“ verwenden
[C#]
// PNG-Bild wird geladen
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,
// Indizierten Farbtyp verwenden
ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.IndexedColor,
// Maximale Komprimierung verwenden
CompressionLevel = 9,
// Holen Sie sich die nächste 8-Bit-Farbpalette, die so viele Pixel wie möglich abdeckt, um ein palettisiertes Bild zu erhalten
// ist optisch kaum von einem nicht palettierten zu unterscheiden.
Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette((Aspose.Imaging.RasterImage)image, 256, Aspose.Imaging.PaletteMiningMethod.Histogram)
});
}
// Die Größe der Ausgabedatei sollte erheblich reduziert werden
Siehe auch
- interface IColorPalette
- class RasterImage
- enum PaletteMiningMethod
- class ColorPaletteHelper
- namensraum Aspose.Imaging
- Montage Aspose.Imaging
GetCloseImagePalette(RasterImage, Rectangle, int)
Ruft die Farbpalette vom Rasterbild ab (palettiert das Bild), falls das Bild keine hat. Falls eine Palette vorhanden ist, wird sie verwendet, anstatt Berechnungen durchzuführen.
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds,
int entriesCount)
Parameter | Typ | Beschreibung |
---|---|---|
image | RasterImage | Das Rasterbild. |
destBounds | Rectangle | Die Zielbildgrenzen. |
entriesCount | Int32 | Es zählen die gewünschten Einträge. |
Rückgabewert
Die Farbpalette, die mit den häufigsten Farben aus dem beginntimage und enthältentriesCount Einträge.
Siehe auch
- interface IColorPalette
- class RasterImage
- struct Rectangle
- class ColorPaletteHelper
- namensraum Aspose.Imaging
- Montage Aspose.Imaging
GetCloseImagePalette(RasterImage, Rectangle, int, bool)
Ruft die Farbpalette vom Rasterbild ab (palettiert das Bild), falls das Bild keine hat. Falls eine Palette vorhanden ist, wird sie verwendet, anstatt Berechnungen durchzuführen.
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds,
int entriesCount, bool useImagePalette)
Parameter | Typ | Beschreibung |
---|---|---|
image | RasterImage | Das Rasterbild. |
destBounds | Rectangle | Die Zielbildgrenzen. |
entriesCount | Int32 | Es zählen die gewünschten Einträge. |
useImagePalette | Boolean | Wenn gesetzt, wird eine eigene Bildpalette verwendet, falls verfügbar |
Rückgabewert
Die Farbpalette, die mit den häufigsten Farben aus dem beginntimage und enthältentriesCount Einträge.
Siehe auch
- interface IColorPalette
- class RasterImage
- struct Rectangle
- class ColorPaletteHelper
- namensraum Aspose.Imaging
- Montage Aspose.Imaging
GetCloseImagePalette(RasterImage, Rectangle, int, bool, Color)
Ruft die Farbpalette vom Rasterbild ab (palettiert das Bild), falls das Bild keine hat. Falls eine Palette vorhanden ist, wird sie verwendet, anstatt Berechnungen durchzuführen.
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds,
int entriesCount, bool useImagePalette, Color alphaBlendInColor)
Parameter | Typ | Beschreibung |
---|---|---|
image | RasterImage | Das Rasterbild. |
destBounds | Rectangle | Die Zielbildgrenzen. |
entriesCount | Int32 | Es zählen die gewünschten Einträge. |
useImagePalette | Boolean | Wenn gesetzt, wird eine eigene Bildpalette verwendet, falls verfügbar |
alphaBlendInColor | Color | Die Farbe, die als Hintergrundfarbe für den halbtransparenten Alpha-Ersatz verwendet werden soll. |
Rückgabewert
Die Farbpalette, die mit den häufigsten Farben aus dem beginntimage und enthältentriesCount Einträge.
Siehe auch
- interface IColorPalette
- class RasterImage
- struct Rectangle
- struct Color
- class ColorPaletteHelper
- namensraum Aspose.Imaging
- Montage Aspose.Imaging