BmpOptions
Inheritance: java.lang.Object, com.aspose.imaging.DisposableObject, com.aspose.imaging.ImageOptionsBase
public class BmpOptions extends ImageOptionsBase
توفر واجهة برمجة التطبيقات لخيارات إنشاء تنسيق صورة نقطية BMP و DIB للمطورين مجموعة أدوات متعددة الاستخدامات لإنشاء صور Bitmap (BMP) و Device Independent Bitmap (DIB) مخصصة. باستخدام هذه الواجهة، يمكنك تحديد خصائص الصورة بدقة مثل عدد البتات لكل بكسل، مستوى الضغط ونوع الضغط، مما يتيح تخصيص الناتج لتلبية المتطلبات المحددة. تمكّن هذه الواجهة الغنية بالميزات المطورين من إنشاء صور نقطية عالية الجودة ومخصصة بسهولة ومرونة لتطبيقات متنوعة.
المنشئات
| المنشئ | الوصف |
|---|---|
| BmpOptions() | ينشئ مثيلاً جديداً من الفئة BmpOptions. |
| BmpOptions(BmpOptions bmpOptions) | ينشئ مثيلاً جديداً من الفئة BmpOptions. |
الطرق
| طريقة | الوصف |
|---|---|
| getBitsPerPixel() | يحصل أو يحدد عدد البتات لكل بكسل في الصورة. |
| setBitsPerPixel(int value) | يحصل أو يحدد عدد البتات لكل بكسل في الصورة. |
| getCompression() | يحصل على نوع الضغط. |
| setCompression(long value) | يحدد نوع الضغط. |
Example: This example demonstrates the use of different classes from SaveOptions Namespace for export purposes.
يوضح هذا المثال استخدام فئات مختلفة من مساحة الأسماء SaveOptions لأغراض التصدير. يتم تحميل صورة من نوع Gif إلى مثيل من الفئة Image ثم يتم تصديرها إلى عدة صيغ.
String dir = "c:\\temp\\";
//تحميل صورة موجودة (من نوع Gif) في مثيل من الفئة Image
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.gif");
try {
//تصدير إلى تنسيق ملف BMP باستخدام الخيارات الافتراضية
image.save(dir + "output.bmp", new com.aspose.imaging.imageoptions.BmpOptions());
//تصدير إلى تنسيق ملف JPEG باستخدام الخيارات الافتراضية
image.save(dir + "output.jpeg", new com.aspose.imaging.imageoptions.JpegOptions());
//تصدير إلى تنسيق ملف PNG باستخدام الخيارات الافتراضية
image.save(dir + "output.png", new com.aspose.imaging.imageoptions.PngOptions());
//تصدير إلى تنسيق ملف TIFF باستخدام الخيارات الافتراضية
image.save(dir + "output.tif", new com.aspose.imaging.imageoptions.TiffOptions(com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat.Default));
} finally {
image.dispose();
}
Example: The following example shows how to convert a multipage vector image to BMP format in general way without referencing to a particular image type.
String dir = "C:\\aspose.imaging\\net\\misc\\ImagingReleaseQATester\\Tests\\testdata\\2548";
String inputFilePath = (dir + "Multipage.cdr");
String outputFilePath = (dir + "Multipage.cdr.bmp");
com.aspose.imaging.ImageOptionsBase exportOptions = new com.aspose.imaging.imageoptions.BmpOptions();
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFilePath))
{
exportOptions.setMultiPageOptions(null);
// تصدير الصفحتين الأوليين فقط. في الواقع، سيتم تحويل صفحة واحدة فقط إلى نقطية لأن BMP ليس تنسيقًا متعدد الصفحات.
com.aspose.imaging.IMultipageImage multipageImage = (image instanceof com.aspose.imaging.IMultipageImage) ? (com.aspose.imaging.IMultipageImage) image : null;
if (multipageImage != null && (multipageImage.getPages() != null && multipageImage.getPageCount() > 2))
{
exportOptions.setMultiPageOptions(new com.aspose.imaging.imageoptions.MultiPageOptions(new com.aspose.imaging.IntRange(0, 2)));
}
if (image instanceof com.aspose.imaging.VectorImage)
{
com.aspose.imaging.imageoptions.VectorRasterizationOptions defaultOptions = (com.aspose.imaging.imageoptions.VectorRasterizationOptions) image.getDefaultOptions(new Object[]{Color.getWhite(), image.getWidth(), image.getHeight()});
exportOptions.setVectorRasterizationOptions(defaultOptions);
defaultOptions.setTextRenderingHint(com.aspose.imaging.TextRenderingHint.SingleBitPerPixel);
defaultOptions.setSmoothingMode(com.aspose.imaging.SmoothingMode.None);
}
image.save(outputFilePath, exportOptions);
}
BmpOptions()
public BmpOptions()
ينشئ مثيلاً جديداً من الفئة BmpOptions.
BmpOptions(BmpOptions bmpOptions)
public BmpOptions(BmpOptions bmpOptions)
ينشئ مثيلاً جديداً من الفئة BmpOptions.
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| bmpOptions | BmpOptions | خيارات BMP. |
getBitsPerPixel()
public int getBitsPerPixel()
يحصل أو يحدد عدد البتات لكل بكسل في الصورة.
Returns: int - عدد بتات الصورة لكل بكسل.
setBitsPerPixel(int value)
public void setBitsPerPixel(int value)
يحصل أو يحدد عدد البتات لكل بكسل في الصورة.
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| القيمة | int | عدد البتات لكل بكسل في الصورة. |
Example: The following example loads a BMP image and saves it back to BMP using various save options.
String dir = "c:\\temp\\";
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;
// إنشاء BmpOptions
com.aspose.imaging.imageoptions.BmpOptions saveOptions = new com.aspose.imaging.imageoptions.BmpOptions();
// استخدم 8 بت لكل بكسل لتقليل حجم الصورة الناتجة.
saveOptions.setBitsPerPixel(8);
// تعيين أقرب لوحة ألوان 8‑بت تغطي الحد الأقصى من بكسلات الصورة، بحيث تكون الصورة مُلوّنة بلوحة ألوان
// تكاد تكون غير قابلة للتمييز بصريًا عن صورة غير ملوّنة باللوحة.
saveOptions.setPalette(com.aspose.imaging.ColorPaletteHelper.getCloseImagePalette(rasterImage, 256));
// احفظ بدون ضغط.
// يمكنك أيضًا استخدام ضغط RLE-8 لتقليل حجم الصورة الناتجة.
saveOptions.setCompression(com.aspose.imaging.fileformats.bmp.BitmapCompression.Rgb);
// حدد الدقة الأفقية والعمودية إلى 96 نقطة في البوصة.
saveOptions.setResolutionSettings(new com.aspose.imaging.ResolutionSetting(96.0, 96.0));
image.save(dir + "sample.bmpoptions.bmp", saveOptions);
} finally {
image.dispose();
}
getCompression()
public long getCompression()
يحصل على نوع الضغط. نوع الضغط الافتراضي هو BitmapCompression.Bitfields، الذي يسمح بحفظ BmpImage مع الشفافية.
القيمة: نوع الضغط.
Returns: طويل - نوع الضغط.
Example: Decompress BMP image which was previously compressed using DXT1 compression algorithm.
try (Image image = Image.load("CompressedTiger.bmp"))
{
image.save("DecompressedTiger.bmp", new BmpOptions());
}
}
{
setCompression(long value)
public void setCompression(long value)
يضبط نوع الضغط. النوع الافتراضي للضغط هو BitmapCompression.Bitfields، الذي يسمح بحفظ BmpImage مع الشفافية.
القيمة: نوع الضغط.
Parameters:
| معامل | نوع | الوصف |
|---|---|---|
| القيمة | long | نوع الضغط. |
Example: The following example loads a BMP image and saves it back to BMP using various save options.
String dir = "c:\\temp\\";
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
com.aspose.imaging.RasterImage rasterImage = (com.aspose.imaging.RasterImage) image;
// إنشاء BmpOptions
com.aspose.imaging.imageoptions.BmpOptions saveOptions = new com.aspose.imaging.imageoptions.BmpOptions();
// استخدم 8 بت لكل بكسل لتقليل حجم الصورة الناتجة.
saveOptions.setBitsPerPixel(8);
// تعيين أقرب لوحة ألوان 8‑بت تغطي الحد الأقصى من بكسلات الصورة، بحيث تكون الصورة مُلوّنة بلوحة ألوان
// تكاد تكون غير قابلة للتمييز بصريًا عن صورة غير ملوّنة باللوحة.
saveOptions.setPalette(com.aspose.imaging.ColorPaletteHelper.getCloseImagePalette(rasterImage, 256));
// احفظ بدون ضغط.
// يمكنك أيضًا استخدام ضغط RLE-8 لتقليل حجم الصورة الناتجة.
saveOptions.setCompression(com.aspose.imaging.fileformats.bmp.BitmapCompression.Rgb);
// حدد الدقة الأفقية والعمودية إلى 96 نقطة في البوصة.
saveOptions.setResolutionSettings(new com.aspose.imaging.ResolutionSetting(96.0, 96.0));
image.save(dir + "sample.bmpoptions.bmp", saveOptions);
} finally {
image.dispose();
}
Example: Compress BMP image using DXT1 compression algorithm.
try (Image image = Image.load("Tiger.bmp"))
{
BmpOptions options = new BmpOptions();
options.setCompression(BitmapCompression.Dxt1);
image.save("CompressedTiger.bmp", options);
}
Example: The example shows how to export a BmpImage from a Png file while keeping the alpha channel, save a Bmp file with transparency.
String sourcePath = "input.png";
String outputPathPng = "output.png";
String outputPathBmp = "output.bmp";
// تحميل صورة PNG من ملف.
try (Image pngImage = Image.load(sourcePath))
{
// يتم حفظ صورة BMP بدعم الشفافية بشكل افتراضي.
// إذا كنت تريد تحديد هذا الوضع صراحةً، يجب ضبط خاصية Compression في BmpOptions إلى BitmapCompression.Bitfields.
// طريقة الضغط BitmapCompression.Bitfields هي طريقة الضغط الافتراضية في BmpOptions.
// لذلك يمكن تحقيق نفس نتيجة تصدير صورة Bmp مع الشفافية بأحد الطرق التالية.
// مع خيارات افتراضية ضمنية:
pngImage.save(outputPathPng);
// مع خيارات افتراضية صريحة:
pngImage.save(outputPathBmp, new BmpOptions());
// تحديد طريقة الضغط BitmapCompression.Bitfields:
pngImage.save(outputPathBmp, new BmpOptions() {{ setCompression(BitmapCompression.Bitfields); }});
}
Example: The example shows how to export a BmpImage with the Rgb compression type.
String sourcePath = "input.png";
String outputPath = "output.bmp";
// تحميل صورة PNG من ملف.
try (Image pngImage = Image.load(sourcePath))
{
// يتم حفظ صورة BMP بدعم الشفافية بشكل افتراضي، ويتم ذلك باستخدام طريقة الضغط BitmapCompression.Bitfields.
// لحفظ صورة BMP باستخدام طريقة الضغط Rgb، يجب تحديد BmpOptions مع خاصية Compression مضبوطة على BitmapCompression.Rgb.
pngImage.save(outputPath, new BmpOptions()
{{
setCompression(BitmapCompression.Rgb);
}});
}