Class ColorPaletteHelper

Class ColorPaletteHelper

Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)

کلاس کمکی برای مدیریت پالت‌های رنگ.

public static class ColorPaletteHelper

وراثت

objectColorPaletteHelper

اعضای به ارث رسیده

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()

بازگشت

IColorPalette

پالت رنگ 4 بیتی.

Create4BitGrayscale(bool)

پالت رنگ خاکستری 4 بیتی ایجاد می‌کند.

public static IColorPalette Create4BitGrayscale(bool minIsWhite)

پارامترها

minIsWhite bool

اگر به ```cstrue تنظیم شود، پالت با رنگ سفید شروع می‌شود، در غیر این صورت با رنگ سیاه شروع می‌شود.

بازگشت

IColorPalette

پالت رنگ خاکستری 4 بیتی.

Create8Bit()

پالت رنگ 8 بیتی ایجاد می‌کند.

public static IColorPalette Create8Bit()

بازگشت

IColorPalette

پالت رنگ 8 بیتی.

Create8BitGrayscale(bool)

پالت رنگ خاکستری 8 بیتی ایجاد می‌کند.

public static IColorPalette Create8BitGrayscale(bool minIsWhite)

پارامترها

minIsWhite bool

اگر به ```cstrue تنظیم شود، پالت با رنگ سفید شروع می‌شود، در غیر این صورت با رنگ سیاه شروع می‌شود.

بازگشت

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);

                                                                                                  // استفاده از 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);

                                                                                                  // ایجاد یک تصویر BMP با ابعاد 100 x 100 px و ذخیره آن در یک فایل.
                                                                                                  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();
                                                                                                  }

### <a id="Aspose_Imaging_ColorPaletteHelper_CreateGrayscale_System_Int32_"></a> CreateGrayscale\(int\)

پالت خاکستری با تعداد بیت مشخص را به دست می‌آورد. مقادیر بیت مجاز 1، 2، 4، 8 هستند.

```csharp
public static IColorPalette CreateGrayscale(int bits)

پارامترها

bits int

تعداد بیت.

بازگشت

IColorPalette

پالت خاکستری.

استثناها

ArgumentOutOfRangeException

bits

CreateMonochrome()

یک پالت رنگ مونوکروم که فقط شامل 2 رنگ است، ایجاد می‌کند.

public static IColorPalette CreateMonochrome()

بازگشت

IColorPalette

پالت رنگ برای تصاویر مونوکروم.

GetCloseImagePalette(RasterImage, int)

پالت رنگ را از تصویر رستری به دست می‌آورد (تصویر را پالت دار می‌کند) در صورتی که تصویر پالت نداشته باشد. در صورت وجود پالت، به جای انجام محاسبات از آن استفاده خواهد شد.

public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount)

پارامترها

image RasterImage

تصویر رستری.

entriesCount int

تعداد ورودی‌های مورد نظر.

بازگشت

IColorPalette

پالت رنگ که با رنگ‌های متداول‌ترین از image شروع می‌شود و شامل 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;

                                                                                                       // ایجاد گزینه‌های Bmp
                                                                                                       Aspose.Imaging.ImageOptions.BmpOptions saveOptions = new Aspose.Imaging.ImageOptions.BmpOptions();

                                                                                                       // استفاده از 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#]

                                                                                              // ایجاد یک تصویر BMP 100 x 100 px.
                                                                                              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

روش استخراج پالت.

بازگشت

IColorPalette

پالت رنگ که با رنگ‌های متداول‌ترین از image شروع می‌شود و شامل 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

تعداد ورودی‌های مورد نظر.

بازگشت

IColorPalette

پالت رنگ که با رنگ‌های متداول‌ترین از image شروع می‌شود و شامل 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

اگر تنظیم شود، در صورت موجود بودن از پالت تصویر خود استفاده خواهد کرد.

بازگشت

IColorPalette

پالت رنگ که با رنگ‌های متداول‌ترین از image شروع می‌شود و شامل 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

رنگی که باید به عنوان رنگ پس‌زمینه برای جایگزینی نیمه شفاف آلفا استفاده شود.

بازگشت

IColorPalette

پالت رنگ که با رنگ‌های متداول‌ترین از image شروع می‌شود و شامل 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

اگر تنظیم شود، بیت‌های کانال آلفا رنگ‌های تصویر را در نظر خواهد گرفت.

بازگشت

IColorPalette

پالت رنگ که با رنگ‌های متداول‌ترین از image شروع می‌شود و شامل entriesCount ورودی است.

GetCloseTransparentImagePalette(RasterImage, int)

پالت رنگ را از تصویر رستری به دست می‌آورد (تصویر را پالت دار می‌کند) در صورتی که تصویر پالت نداشته باشد. در صورت وجود پالت، به جای انجام محاسبات از آن استفاده خواهد شد.

public static IColorPalette GetCloseTransparentImagePalette(RasterImage image, int entriesCount)

پارامترها

image RasterImage

تصویر رستری.

entriesCount int

تعداد ورودی‌های مورد نظر.

بازگشت

IColorPalette

پالت رنگ که با رنگ‌های متداول‌ترین از image شروع می‌شود و شامل entriesCount ورودی است.

GetDownscalePalette(RasterImage)

پالت 256 رنگی را به دست می‌آورد که از بیت‌های بالایی مقادیر رنگ تصویر اولیه تشکیل شده است.

public static ColorPalette GetDownscalePalette(RasterImage image)

پارامترها

image RasterImage

تصویر.

بازگشت

ColorPalette

پالت رنگ Aspose.Imaging.ColorPalette.

GetUniformColorPalette(RasterImage)

پالت رنگ یکنواخت 256 رنگی را به دست می‌آورد.

public static ColorPalette GetUniformColorPalette(RasterImage image)

پارامترها

image RasterImage

تصویر.

بازگشت

ColorPalette

پالت رنگ Aspose.Imaging.ColorPalette.

HasTransparentColors(IColorPalette)

تعیین می‌کند که آیا پالت مشخص شده دارای رنگ‌های شفاف است یا خیر.

public static bool HasTransparentColors(IColorPalette palette)

پارامترها

palette IColorPalette

پالت.

بازگشت

bool

cstrue</code> اگر پالت مشخص شده دارای رنگ‌های شفاف باشد؛ در غیر این صورت، csfalse.

استثناها

ArgumentNullException

palette نال است.

 فارسی