Class ColorPaletteHelper
Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)
カラー パレット操作のためのヘルパークラス。
public static class ColorPaletteHelper
継承
継承されたメンバー
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
メソッド
Create4Bit()
4ビットカラー パレットを作成します。
public static IColorPalette Create4Bit()
戻り値
4ビットカラー パレット。
Create4BitGrayscale(bool)
4ビットグレースケール パレットを作成します。
public static IColorPalette Create4BitGrayscale(bool minIsWhite)
パラメータ
minIsWhite
bool
#### 戻り値
[IColorPalette](/imaging/aspose.imaging.icolorpalette)
4ビットグレースケール パレット。
### <a id="Aspose_Imaging_ColorPaletteHelper_Create8Bit"></a> Create8Bit\(\)
8ビットカラー パレットを作成します。
```csharp
public static IColorPalette Create8Bit()
戻り値
8ビットカラー パレット。
Create8BitGrayscale(bool)
8ビットグレースケール パレットを作成します。
public static IColorPalette Create8BitGrayscale(bool minIsWhite)
パラメータ
minIsWhite
bool
#### 戻り値
[IColorPalette](/imaging/aspose.imaging.icolorpalette)
8ビットグレースケール パレット。
#### 例
次の例は、パレット化されたグレースケール BMP 画像を作成し、それをファイルに保存します。```csharp
[C#]
string dir = "c:\\temp\\";
Aspose.Imaging.ImageOptions.BmpOptions createOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
// ファイルに保存
createOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(dir + "output.palette8bit.bmp", false);
// 出力画像のサイズを縮小するために、1ピクセルあたり8ビットを使用します。
createOptions.BitsPerPixel = 8;
// すべてのグレースケール色をカバーする標準8ビットグレースケールカラーパレットを設定します。
// 処理された画像がグレースケール色のみを含む場合、そのパレット化されたバージョンは
// 非パレット化されたものと視覚的に区別がつきません。
createOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
// 圧縮なしで保存します。
// 出力画像のサイズを縮小するためにRLE-8圧縮を使用することもできます。
createOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;
// 水平および垂直解像度を96 dpiに設定します。
createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
// 100 x 100 pxのBMP画像を作成し、ファイルに保存します。
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);
// グレースケールグラデーションで画像を塗りつぶします
graphics.FillRectangle(gradientBrush, image.Bounds);
image.Save();
}
CreateGrayscale(int)
指定されたビット数のグレースケールパレットを取得します。許可されるビット値は1、2、4、8です。
public static IColorPalette CreateGrayscale(int bits)
パラメータ
bits
int
ビット数。
戻り値
グレースケールパレット。
例外
bits
CreateMonochrome()
2色のみを含むモノクロカラー パレットを作成します。
public static IColorPalette CreateMonochrome()
戻り値
モノクロ画像用のカラーパレット。
GetCloseImagePalette(RasterImage, int)
画像にパレットがない場合、ラスタ画像からカラーパレットを取得します(画像をパレット化します)。パレットが存在する場合は、計算を行う代わりにそれが使用されます。
public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount)
パラメータ
image
RasterImage
ラスタ画像。
entriesCount
int
希望するエントリ数。
戻り値
最も頻繁に出現する色から始まり、entriesCount
エントリを含むカラーパレット。
例
次の例は、BMP画像を読み込み、さまざまな保存オプションを使用してBMPに保存します。```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を作成
Aspose.Imaging.ImageOptions.BmpOptions saveOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
// 出力画像のサイズを縮小するために、1ピクセルあたり8ビットを使用します。
saveOptions.BitsPerPixel = 8;
// 画像ピクセルの最大数をカバーする最も近い8ビットカラーパレットを設定します。これにより、パレット化された画像が
// 非パレット化されたものと視覚的に区別がつかないようになります。
saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(rasterImage, 256);
// 圧縮なしで保存します。
// 出力画像のサイズを縮小するためにRLE-8圧縮を使用することもできます。
saveOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;
// 水平および垂直解像度を96 dpiに設定します。
saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
image.Save(dir + "sample.bmpoptions.bmp", saveOptions);
}
次の例は、BMP画像をパレット化して出力サイズを縮小する方法を示しています。```csharp
[C#]
// 100 x 100 pxのBMP画像を作成します。
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
// 画像の左上から右下のコーナーまでの線形グラデーション。
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);
// 線形グラデーションブラシで画像全体を塗りつぶします。
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
gr.FillRectangle(brush, bmpImage.Bounds);
// できるだけ多くのピクセルをカバーする最も近い8ビットカラーパレットを取得します。これにより、パレット化された画像が
// 非パレット化されたものと視覚的に区別がつかないようになります。
Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(bmpImage, 256);
// 8ビットパレットは最大256色を含みます。
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("パレット化された画像のサイズは{0}バイトです。", stream.Length);
}
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
bmpImage.Save(stream);
System.Console.WriteLine("非パレット化された画像のサイズは{0}バイトです。", stream.Length);
}
}
// 出力は次のようになります:
// パレット化された画像のサイズは11078バイトです。
// 非パレット化された画像のサイズは40054バイトです。
GetCloseImagePalette(RasterImage, int, PaletteMiningMethod)
画像にパレットがない場合、ラスタ画像からカラーパレットを取得します(画像をパレット化します)。パレットは、インデックス画像品質を向上させるために最適化されるか、PaletteMiningMethod.UseCurrentPaletteが使用されると「そのまま」取得されます。
public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount, PaletteMiningMethod paletteMiningMethod)
パラメータ
image
RasterImage
ラスタ画像。
entriesCount
int
希望するエントリ数。
paletteMiningMethod
PaletteMiningMethod
パレットマイニングメソッド。
戻り値
最も頻繁に出現する色から始まり、entriesCount
エントリを含むカラーパレット。
例
次の例は、PNG画像を圧縮し、最適なフィットパレットを使用してインデックスカラーを使用する方法を示します。```csharp [C#]
// png画像を読み込みます
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,
// インデックスカラータイプを使用
ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.IndexedColor,
// 最大圧縮を使用
CompressionLevel = 9,
// できるだけ多くのピクセルをカバーする最も近い8ビットカラーパレットを取得します。これにより、パレット化された画像が
// 非パレット化されたものと視覚的に区別がつかないようになります。
Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette((Aspose.Imaging.RasterImage)image, 256, Aspose.Imaging.PaletteMiningMethod.Histogram)
});
}
// 出力ファイルサイズは大幅に削減されるはずです
### <a id="Aspose_Imaging_ColorPaletteHelper_GetCloseImagePalette_Aspose_Imaging_RasterImage_Aspose_Imaging_Rectangle_System_Int32_"></a> GetCloseImagePalette\(RasterImage, Rectangle, int\)
画像にパレットがない場合、ラスタ画像からカラーパレットを取得します(画像をパレット化します)。パレットが存在する場合は、計算を行う代わりにそれが使用されます。
```csharp
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount)
パラメータ
image
RasterImage
ラスタ画像。
destBounds
Rectangle
目的の画像の境界。
entriesCount
int
希望するエントリ数。
戻り値
最も頻繁に出現する色から始まり、entriesCount
エントリを含むカラーパレット。
GetCloseImagePalette(RasterImage, Rectangle, int, bool)
画像にパレットがない場合、ラスタ画像からカラーパレットを取得します(画像をパレット化します)。パレットが存在する場合は、計算を行う代わりにそれが使用されます。
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount, bool useImagePalette)
パラメータ
image
RasterImage
ラスタ画像。
destBounds
Rectangle
目的の画像の境界。
entriesCount
int
希望するエントリ数。
useImagePalette
bool
設定されている場合、利用可能な場合は独自の画像パレットを使用します。
戻り値
最も頻繁に出現する色から始まり、entriesCount
エントリを含むカラーパレット。
GetCloseImagePalette(RasterImage, Rectangle, int, bool, Color)
画像にパレットがない場合、ラスタ画像からカラーパレットを取得します(画像をパレット化します)。パレットが存在する場合は、計算を行う代わりにそれが使用されます。
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount, bool useImagePalette, Color alphaBlendInColor)
パラメータ
image
RasterImage
ラスタ画像。
destBounds
Rectangle
目的の画像の境界。
entriesCount
int
希望するエントリ数。
useImagePalette
bool
設定されている場合、利用可能な場合は独自の画像パレットを使用します。
alphaBlendInColor
Color
半透明のアルファ置換用の背景色として使用される色。
戻り値
最も頻繁に出現する色から始まり、entriesCount
エントリを含むカラーパレット。
GetCloseImagePalette(RasterImage, Rectangle, int, bool, Color, bool)
画像にパレットがない場合、ラスタ画像からカラーパレットを取得します(画像をパレット化します)。パレットが存在する場合は、計算を行う代わりにそれが使用されます。
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount, bool useImagePalette, Color alphaBlendInColor, bool keepTransparency)
パラメータ
image
RasterImage
ラスタ画像。
destBounds
Rectangle
目的の画像の境界。
entriesCount
int
希望するエントリ数。
useImagePalette
bool
設定されている場合、利用可能な場合は独自の画像パレットを使用します。
alphaBlendInColor
Color
半透明のアルファ置換用の背景色として使用される色。
keepTransparency
bool
設定されている場合、画像の色のアルファチャンネルビットを考慮します。
戻り値
最も頻繁に出現する色から始まり、entriesCount
エントリを含むカラーパレット。
GetCloseTransparentImagePalette(RasterImage, int)
画像にパレットがない場合、ラスタ画像からカラーパレットを取得します(画像をパレット化します)。パレットが存在する場合は、計算を行う代わりにそれが使用されます。
public static IColorPalette GetCloseTransparentImagePalette(RasterImage image, int entriesCount)
パラメータ
image
RasterImage
ラスタ画像。
entriesCount
int
希望するエントリ数。
戻り値
最も頻繁に出現する色から始まり、entriesCount
エントリを含むカラーパレット。
GetDownscalePalette(RasterImage)
初期画像の色値の上位ビットから構成される256色パレットを取得します。
public static ColorPalette GetDownscalePalette(RasterImage image)
パラメータ
image
RasterImage
画像。
戻り値
Aspose.Imaging.ColorPalette。
GetUniformColorPalette(RasterImage)
均一な256色パレットを取得します。
public static ColorPalette GetUniformColorPalette(RasterImage image)
パラメータ
image
RasterImage
画像。
戻り値
Aspose.Imaging.ColorPalette。
HasTransparentColors(IColorPalette)
指定されたパレットに透明色があるかどうかを判断します。
public static bool HasTransparentColors(IColorPalette palette)
パラメータ
palette
IColorPalette
パレット。
戻り値
指定されたパレットに透明色がある場合はcstrue</code>、そうでない場合は
csfalse。
例外
palette
がnullです。