BmpImage
Inheritance: java.lang.Object, com.aspose.imaging.DisposableObject, com.aspose.imaging.DataStreamSupporter, com.aspose.imaging.Image, com.aspose.imaging.RasterImage, com.aspose.imaging.RasterCachedImage
public final class BmpImage extends RasterCachedImage
Вы можете без труда работать с файлами Bitmap (BMP) и Device Independent Bitmap (DIB), обеспечивая эффективную манипуляцию и обработку растровых изображений. Выполняя различные операции с изображениями, этот API упрощает рабочий процесс, предлагая разработчикам надежный набор инструментов для работы с форматами BMP и DIB в их программных приложениях.
Конструкторы
| Конструктор | Описание |
|---|---|
| BmpImage(String path) | Начните без труда использовать класс BmpImage с этим конструктором, который инициализирует новый экземпляр. |
| BmpImage(String path, int bitsPerPixel, long compression, double horizontalResolution, double verticalResolution) | Без труда создайте новый экземпляр класса BmpImage с помощью этого конструктора, используя указанные параметры, такие как путь, bitsPerPixel и сжатие. |
| BmpImage(InputStream stream) | Начните без труда использовать класс BmpImage, инициализируя новый экземпляр этим конструктором, используя поток в качестве входных данных. |
| BmpImage(InputStream stream, int bitsPerPixel, long compression, double horizontalResolution, double verticalResolution) | Начните беспрепятственно работать с классом BmpImage, создав новый экземпляр с использованием потока и указанных параметров, таких как bitsPerPixel и сжатие. |
| BmpImage(RasterImage rasterImage) | Без труда создайте новый экземпляр класса BmpImage, инициализировав его объектом RasterImage. |
| BmpImage(RasterImage rasterImage, int bitsPerPixel, long compression, double horizontalResolution, double verticalResolution) | Начните беспрепятственно работать с классом BmpImage, создав новый экземпляр с использованием rasterImage и указанных параметров, таких как bitsPerPixel и сжатие. |
| BmpImage(int width, int height) | Начните без труда использовать класс BmpImage, создав новый экземпляр с указанными параметрами ширины и высоты. |
| BmpImage(int width, int height, int bitsPerPixel, IColorPalette palette) | Начните беспрепятственно использовать класс BmpImage, инициализировав новый экземпляр с параметрами, такими как ширина, высота, глубина цвета и палитра. |
| BmpImage(int width, int height, int bitsPerPixel, IColorPalette palette, long compression, double horizontalResolution, double verticalResolution) | Легко создайте новый экземпляр класса BmpImage с помощью этого конструктора, указывая такие параметры, как ширина, высота, bitsPerPixel и палитра. |
Методы
| Метод | Описание |
|---|---|
| getBitmapInfoHeader() | Быстро получите основные сведения о вашем растровом изображении с помощью этой простой функции. |
| getFileFormat() | Легко получить значение формата файла с помощью этого удобного свойства. |
| getRawDataFormat() | Легко определите формат ваших необработанных данных с помощью этой удобной функции. |
| getRawLineSize() | Быстро узнайте размер каждой необработанной строки в байтах с помощью этого простого свойства. |
| getCompression() | Легко получите тип сжатия, используемый для изображения, с помощью этого свойства. |
| getWidth() | Легко получите ширину изображения с помощью этого свойства. |
| getHeight() | Легко получите высоту изображения с помощью этого свойства. |
| getBitsPerPixel() | С легкостью получите количество бит на пиксель изображения, используя это свойство. |
| getHorizontalResolution() | Это свойство позволяет вам легко получить или установить горизонтальное разрешение, измеряемое в пикселях на дюйм, объекта RasterImage. |
| setHorizontalResolution(double value) | Это свойство позволяет вам легко получить или установить горизонтальное разрешение, измеряемое в пикселях на дюйм, объекта RasterImage. |
| getVerticalResolution() | Легко получите или задайте вертикальное разрешение, измеряемое в пикселях на дюйм, этого объекта RasterImage с помощью этого свойства. |
| setVerticalResolution(double value) | Легко получите или задайте вертикальное разрешение, измеряемое в пикселях на дюйм, этого объекта RasterImage с помощью этого свойства. |
| hasAlpha() | Получает значение, указывающее, имеет ли этот экземпляр альфа‑канал. |
| setResolution(double dpiX, double dpiY) | Легко отрегулируйте разрешение вашего RasterImage с помощью этого удобного метода. |
| getDefaultOptions(Object[] args) | Легко получите параметры по умолчанию с помощью этого простого метода. |
Example: The following example shows how to create a BMP image of the specified size.
String dir = "c:\\temp\\";
// Создать BMP‑изображение размером 100 × 100 пикселей.
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = new com.aspose.imaging.fileformats.bmp.BmpImage(100, 100);
try {
// Заполните изображение простым линейным градиентом от красного к черному.
int width = bmpImage.getWidth();
int height = bmpImage.getHeight();
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
int hue = (255 * x) / width;
bmpImage.setPixel(x, y, com.aspose.imaging.Color.fromArgb(255, hue, 0, 0));
}
}
java.io.OutputStream stream = new java.io.FileOutputStream(dir + "output.bmp");
try {
bmpImage.save(stream);
} finally {
stream.close();
}
} finally {
bmpImage.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: Decompress BMP image which was previously compressed using DXT1 compression algorithm.
try (Image image = Image.load("CompressedTiger.bmp"))
{
image.save("DecompressedTiger.bmp", new BmpOptions());
}
}
{
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);
}});
}
Example: The example shows how to remove any object from the image using Graphics Path with Content Aware fill algorithm.
String imageFilePath = "ball.png";
try (Image image = Image.load(imageFilePath))
{
PngImage pngImage = (PngImage)image;
GraphicsPath mask = new GraphicsPath();
Figure firstFigure = new Figure();
firstFigure.addShape(new EllipseShape(new RectangleF(350, 170, 570 - 350, 400 - 170)));
mask.addFigure(firstFigure);
ContentAwareFillWatermarkOptions options = new ContentAwareFillWatermarkOptions(mask);
options.setMaxPaintingAttempts(4);
try (Image result = WatermarkRemover.paintOver(pngImage, options))
{
result.Save(outputPath);
}
}
BmpImage(String path)
public BmpImage(String path)
Начните использовать класс BmpImage без усилий с помощью этого конструктора, который инициализирует новый экземпляр. Идеально подходит для разработчиков, желающих быстро и эффективно приступить к работе с объектами BmpImage.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| path | java.lang.String | Путь, из которого загружается изображение и с которым инициализируются данные пикселей и палитры. |
BmpImage(String path, int bitsPerPixel, long compression, double horizontalResolution, double verticalResolution)
public BmpImage(String path, int bitsPerPixel, long compression, double horizontalResolution, double verticalResolution)
Легко создайте новый экземпляр класса BmpImage с помощью этого конструктора, используя указанные параметры, такие как путь, bitsPerPixel и сжатие. Идеально подходит для разработчиков, желающих быстро и эффективно инициализировать объекты BmpImage с точным контролем над характеристиками изображения.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| path | java.lang.String | Путь, из которого загружается изображение и с которым инициализируются данные пикселей и палитры. |
| bitsPerPixel | int | Биты на пиксель. |
| сжатие | long | Сжатие, которое следует использовать. |
| horizontalResolution | double | Горизонтальное разрешение. Обратите внимание, что из‑за округления полученное разрешение может немного отличаться от переданного. |
| verticalResolution | double | Вертикальное разрешение. Обратите внимание, что из‑за округления полученное разрешение может немного отличаться от переданного. |
BmpImage(InputStream stream)
public BmpImage(InputStream stream)
Начните использовать класс BmpImage без усилий, инициализируя новый экземпляр с помощью этого конструктора и используя поток в качестве входных данных. Идеально подходит для разработчиков, ищущих удобный способ работы с объектами BmpImage из различных источников данных, обеспечивая гибкость и простоту интеграции.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| stream | java.io.InputStream | Поток, из которого загружается изображение и с которым инициализируются данные пикселей и палитры. |
BmpImage(InputStream stream, int bitsPerPixel, long compression, double horizontalResolution, double verticalResolution)
public BmpImage(InputStream stream, int bitsPerPixel, long compression, double horizontalResolution, double verticalResolution)
Начните работать с классом BmpImage без проблем, создав новый экземпляр с использованием потока и указанных параметров, таких как bitsPerPixel и сжатие. Идеально подходит для разработчиков, ищущих простой способ обработки объектов BmpImage, обеспечивая гибкость и эффективность в их проектах.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| stream | java.io.InputStream | Поток, из которого загружается изображение и с которым инициализируются данные пикселей и палитры. |
| bitsPerPixel | int | Биты на пиксель. |
| сжатие | long | Сжатие, которое следует использовать. |
| horizontalResolution | double | Горизонтальное разрешение. Обратите внимание, что из‑за округления полученное разрешение может немного отличаться от переданного. |
| verticalResolution | double | Вертикальное разрешение. Обратите внимание, что из‑за округления полученное разрешение может немного отличаться от переданного. |
BmpImage(RasterImage rasterImage)
public BmpImage(RasterImage rasterImage)
Легко создайте новый экземпляр класса BmpImage, инициализировав его объектом RasterImage. Идеально подходит для разработчиков, желающих без проблем конвертировать существующие растровые изображения в формат BmpImage, обеспечивая совместимость и простоту интеграции в их проекты.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| rasterImage | RasterImage | Изображение, с которым инициализируются данные пикселей и палитры. |
BmpImage(RasterImage rasterImage, int bitsPerPixel, long compression, double horizontalResolution, double verticalResolution)
public BmpImage(RasterImage rasterImage, int bitsPerPixel, long compression, double horizontalResolution, double verticalResolution)
Начните работать с классом BmpImage без проблем, создав новый экземпляр с использованием rasterImage и указанных параметров, таких как bitsPerPixel и сжатие. Идеально подходит для разработчиков, ищущих простой способ обработки объектов BmpImage, обеспечивая гибкость и эффективность в их проектах.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| rasterImage | RasterImage | Изображение, с которым инициализируются данные пикселей и палитры. |
| bitsPerPixel | int | Биты на пиксель. |
| сжатие | long | Сжатие, которое следует использовать. |
| horizontalResolution | double | Горизонтальное разрешение. Обратите внимание, что из‑за округления полученное разрешение может немного отличаться от переданного. |
| verticalResolution | double | Вертикальное разрешение. Обратите внимание, что из‑за округления полученное разрешение может немного отличаться от переданного. |
BmpImage(int width, int height)
public BmpImage(int width, int height)
Начните использовать класс BmpImage без усилий, создав новый экземпляр с указанными параметрами ширины и высоты. Идеально подходит для разработчиков, ищущих удобный способ создания объектов BmpImage с пользовательскими размерами, обеспечивая гибкость и простоту интеграции в их проекты.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| width | int | Ширина изображения. |
| height | int | Высота изображения. |
BmpImage(int width, int height, int bitsPerPixel, IColorPalette palette)
public BmpImage(int width, int height, int bitsPerPixel, IColorPalette palette)
Начните использовать класс BmpImage без проблем, инициализируя новый экземпляр с параметрами, такими как ширина, высота, глубина цвета и палитра. Идеально подходит для разработчиков, ищущих простой способ создавать объекты BmpImage с пользовательскими размерами и настройками цветов, обеспечивая гибкость и эффективность в их проектах.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| width | int | Ширина изображения. |
| height | int | Высота изображения. |
| bitsPerPixel | int | Биты на пиксель. |
| palette | IColorPalette | Цветовая палитра. |
BmpImage(int width, int height, int bitsPerPixel, IColorPalette palette, long compression, double horizontalResolution, double verticalResolution)
public BmpImage(int width, int height, int bitsPerPixel, IColorPalette palette, long compression, double horizontalResolution, double verticalResolution)
Легко создайте новый экземпляр класса BmpImage с помощью этого конструктора, указывая параметры, такие как ширина, высота, bitsPerPixel и палитра. Идеально подходит для разработчиков, ищущих удобный способ генерировать объекты BmpImage с пользовательскими размерами и настройками цветов, обеспечивая гибкость и простоту интеграции в их проекты.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| width | int | Ширина изображения. |
| height | int | Высота изображения. |
| bitsPerPixel | int | Биты на пиксель. |
| palette | IColorPalette | Цветовая палитра. |
| сжатие | long | Сжатие, которое следует использовать. |
| horizontalResolution | double | Горизонтальное разрешение. Обратите внимание, что из‑за округления полученное разрешение может немного отличаться от переданного. |
| verticalResolution | double | Вертикальное разрешение. Обратите внимание, что из‑за округления полученное разрешение может немного отличаться от переданного. |
getBitmapInfoHeader()
public BitmapInfoHeader getBitmapInfoHeader()
Быстро получайте важные сведения о вашем bitmap‑изображении с помощью этой простой функции. Идеально подходит для разработчиков, которым необходимо извлекать информацию заголовка их изображений.
Returns: BitmapInfoHeader - The bitmap information header.
Example: The following example gets the information from the BMP header and prints it to the console.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\sample.bmp");
try {
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = (com.aspose.imaging.fileformats.bmp.BmpImage) image;
com.aspose.imaging.fileformats.bmp.BitmapInfoHeader header = bmpImage.getBitmapInfoHeader();
System.out.println("The number of palette colors that are required for displaying the bitmap: " + header.getBitmapColorsImportant());
System.out.println("The number of palette colors used in the bitmap: " + header.getBitmapColorsUsed());
System.out.println("The bitmap compression: " + header.getBitmapCompression());
System.out.println("The bitmap height: " + header.getBitmapHeight());
System.out.println("The bitmap width: " + header.getBitmapWidth());
System.out.println("The bitmap raw data size in bytes: " + header.getBitmapImageSize());
System.out.println("The number of planes: " + header.getBitmapPlanes());
System.out.println("The horizontal resolution of the bitmap, in pixels-per-meter: " + header.getBitmapXPelsPerMeter());
System.out.println("The vertical resolution of the bitmap, in pixels-per-meter: " + header.getBitmapYPelsPerMeter());
System.out.println("The number of bits per pixel: " + header.getBitsPerPixel());
System.out.println("The extra bits masks: " + header.getExtraBitMasks());
System.out.println("The header size in bytes: " + header.getHeaderSize());
} finally {
image.dispose();
}
//Вывод может выглядеть так:
//Количество цветов палитры, необходимых для отображения bitmap: 0
//Количество цветов палитры, используемых в bitmap: 0
//Сжатие bitmap: 0
//Высота bitmap: 100
//Ширина bitmap: 100
//Размер необработанных данных bitmap в байтах: 40000
//Количество плоскостей: 1
//Горизонтальное разрешение bitmap в пикселях на метр: 0
//Вертикальное разрешение bitmap в пикселях на метр: 0
//Количество бит на пиксель: 32
//Маски дополнительных битов: null
//Размер заголовка в байтах: 40
getFileFormat()
public long getFileFormat()
Легко получить значение формата файла с помощью этого удобного свойства. Идеально для разработчиков, которым нужен быстрый доступ к информации о формате файла.
Returns: long
Example: The following example shows how to extract information about raw data format and alpha channel from a BMP image.
// Вспомогательный класс, используемый в основном примере ниже.
class Utils {
// Вспомогательный метод для получения строкового представления формата файла.
public String getFileFormatString(long fileFormat) {
if (fileFormat == com.aspose.imaging.FileFormat.Bmp) {
return "BMP";
} else if (fileFormat == com.aspose.imaging.FileFormat.Gif) {
return "GIF";
} else if (fileFormat == com.aspose.imaging.FileFormat.Dicom) {
return "DICOM";
} else if (fileFormat == com.aspose.imaging.FileFormat.Djvu) {
return "DJVU";
} else if (fileFormat == com.aspose.imaging.FileFormat.Dng) {
return "DNG";
} else if (fileFormat == com.aspose.imaging.FileFormat.Png) {
return "PNG";
} else if (fileFormat == com.aspose.imaging.FileFormat.Jpeg) {
return "JPEG";
} else if (fileFormat == com.aspose.imaging.FileFormat.Jpeg2000) {
return "JPEG2000";
} else if (fileFormat == com.aspose.imaging.FileFormat.Psd) {
return "PSD";
} else if (fileFormat == com.aspose.imaging.FileFormat.Tiff) {
return "Tiff";
} else if (fileFormat == com.aspose.imaging.FileFormat.Webp) {
return "WEBP";
} else if (fileFormat == com.aspose.imaging.FileFormat.Cdr) {
return "CDR";
} else if (fileFormat == com.aspose.imaging.FileFormat.Cmx) {
return "CMX";
} else if (fileFormat == com.aspose.imaging.FileFormat.Emf) {
return "EMF";
} else if (fileFormat == com.aspose.imaging.FileFormat.Wmf) {
return "WMF";
} else if (fileFormat == com.aspose.imaging.FileFormat.Svg) {
return "SVG";
} else if (fileFormat == com.aspose.imaging.FileFormat.Odg) {
return "ODG";
} else if (fileFormat == com.aspose.imaging.FileFormat.Eps) {
return "EPS";
} else {
return "UNDEFINED";
}
}
}
// Вот основной пример
Utils utils = new Utils();
// Создайте BMP‑изображение 32‑bpp размером 100 × 100 пикселей.
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = new com.aspose.imaging.fileformats.bmp.BmpImage(100, 100, 32, null);
try {
System.out.printf("FileFormat=%s, RawDataFormat=%s, HasAlpha=%s",
utils.getFileFormatString(bmpImage.getFileFormat()),
bmpImage.getRawDataFormat(),
bmpImage.hasAlpha());
System.out.println();
} finally {
bmpImage.dispose();
}
// Создайте BMP‑изображение 24‑bpp размером 100 × 100 пикселей.
bmpImage = new com.aspose.imaging.fileformats.bmp.BmpImage(100, 100, 24, null);
try {
System.out.printf("FileFormat=%s, RawDataFormat=%s, HasAlpha=%s",
utils.getFileFormatString(bmpImage.getFileFormat()),
bmpImage.getRawDataFormat(),
bmpImage.hasAlpha());
System.out.println();
} finally {
bmpImage.dispose();
}
// В большинстве случаев BMP не поддерживает альфа‑канал, поэтому вывод, вероятно, будет выглядеть так:
// FileFormat=BMP, RawDataFormat=Rgb32Bpp, использованные каналы: 8,8,8,8, HasAlpha=false
// FileFormat=BMP, RawDataFormat=Rgb24Bpp, использованные каналы: 8,8,8, HasAlpha=false
getRawDataFormat()
public PixelDataFormat getRawDataFormat()
Легко получайте формат ваших необработанных данных с помощью этой удобной функции. Идеально подходит для разработчиков, желающих быстро получать важную информацию о формате их данных.
Returns: PixelDataFormat - The raw data format.
Example: The following example gets the general information about the image including pixel format, image size, resolution, compression etc.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\sample.bmp");
try {
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = (com.aspose.imaging.fileformats.bmp.BmpImage) image;
System.out.println("The pixel format: " + bmpImage.getRawDataFormat());
System.out.println("The raw line size in bytes: " + bmpImage.getRawLineSize());
System.out.println("The bitmap compression: " + bmpImage.getCompression());
System.out.println("The bitmap width: " + bmpImage.getWidth());
System.out.println("The bitmap height: " + bmpImage.getHeight());
System.out.println("The number of bits per pixel: " + bmpImage.getBitsPerPixel());
double hres = bmpImage.getHorizontalResolution();
double vres = bmpImage.getVerticalResolution();
System.out.println("The horizontal resolution, in pixels per inch: " + hres);
System.out.println("The vertical resolution, in pixels per inch: " + vres);
if (hres != 96.0 || vres != 96.0) {
// Вы можете рассмотреть возможность использования метода SetResolution для обновления обоих значений разрешения одним вызовом.
System.out.println("Set resolution values to 96 dpi");
bmpImage.setResolution(96.0, 96.0);
System.out.println("The horizontal resolution, in pixels per inch: " + bmpImage.getHorizontalResolution());
System.out.println("The vertical resolution, in pixels per inch: " + bmpImage.getVerticalResolution());
}
} finally {
image.dispose();
}
//Вывод может выглядеть так:
//Формат пикселя: Rgb24Bpp, использованные каналы: 8,8,8
//Размер необработанной строки в байтах: 1500
//Сжатие bitmap: 0
//Ширина битмапа: 500
//Высота битмапа: 500
//Количество бит на пиксель: 24
//Горизонтальное разрешение, в пикселях на дюйм: 96.012
//Вертикальное разрешение, в пикселях на дюйм: 96.012
//Установить значения разрешения в 96 dpi
//Горизонтальное разрешение, в пикселях на дюйм: 96.012
//Вертикальное разрешение, в пикселях на дюйм: 96.012
getRawLineSize()
public int getRawLineSize()
Быстро получайте размер каждой необработанной строки в байтах с помощью этого простого свойства. Идеально для разработчиков, которым необходимо эффективно работать с необработанными данными изображения.
Returns: int - Размер необработанной строки в байтах.
Example: The following example gets the general information about the image including pixel format, image size, resolution, compression etc.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\sample.bmp");
try {
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = (com.aspose.imaging.fileformats.bmp.BmpImage) image;
System.out.println("The pixel format: " + bmpImage.getRawDataFormat());
System.out.println("The raw line size in bytes: " + bmpImage.getRawLineSize());
System.out.println("The bitmap compression: " + bmpImage.getCompression());
System.out.println("The bitmap width: " + bmpImage.getWidth());
System.out.println("The bitmap height: " + bmpImage.getHeight());
System.out.println("The number of bits per pixel: " + bmpImage.getBitsPerPixel());
double hres = bmpImage.getHorizontalResolution();
double vres = bmpImage.getVerticalResolution();
System.out.println("The horizontal resolution, in pixels per inch: " + hres);
System.out.println("The vertical resolution, in pixels per inch: " + vres);
if (hres != 96.0 || vres != 96.0) {
// Вы можете рассмотреть возможность использования метода SetResolution для обновления обоих значений разрешения одним вызовом.
System.out.println("Set resolution values to 96 dpi");
bmpImage.setResolution(96.0, 96.0);
System.out.println("The horizontal resolution, in pixels per inch: " + bmpImage.getHorizontalResolution());
System.out.println("The vertical resolution, in pixels per inch: " + bmpImage.getVerticalResolution());
}
} finally {
image.dispose();
}
//Вывод может выглядеть так:
//Формат пикселя: Rgb24Bpp, использованные каналы: 8,8,8
//Размер необработанной строки в байтах: 1500
//Сжатие bitmap: 0
//Ширина битмапа: 500
//Высота битмапа: 500
//Количество бит на пиксель: 24
//Горизонтальное разрешение, в пикселях на дюйм: 96.012
//Вертикальное разрешение, в пикселях на дюйм: 96.012
//Установить значения разрешения в 96 dpi
//Горизонтальное разрешение, в пикселях на дюйм: 96.012
//Вертикальное разрешение, в пикселях на дюйм: 96.012
getCompression()
public long getCompression()
Легко получайте тип сжатия, используемый для изображения, с помощью этого свойства. Отлично подходит для разработчиков, которым нужно быстро получать информацию о сжатии изображения.
Returns: long - Сжатие изображения BitmapCompression.
Example: The following example shows how the bitmap compression affects the output image size.
// Вспомогательный класс, используемый в основном примере ниже.
class Utils {
// Вспомогательный метод для получения строкового представления формата файла.
public String getBitmapCompressionString(long bitmapCompression) {
if (bitmapCompression == com.aspose.imaging.fileformats.bmp.BitmapCompression.Rgb) {
return "RGB";
} else if (bitmapCompression == com.aspose.imaging.fileformats.bmp.BitmapCompression.Rle8) {
return "RLE8";
} else if (bitmapCompression == com.aspose.imaging.fileformats.bmp.BitmapCompression.Rle4) {
return "RLE4";
} else if (bitmapCompression == com.aspose.imaging.fileformats.bmp.BitmapCompression.Bitfields) {
return "BITFIELDS";
} else if (bitmapCompression == com.aspose.imaging.fileformats.bmp.BitmapCompression.Jpeg) {
return "JPEG";
} else if (bitmapCompression == com.aspose.imaging.fileformats.bmp.BitmapCompression.Png) {
return "PNG";
} else if (bitmapCompression == com.aspose.imaging.fileformats.bmp.BitmapCompression.AlphaBitfields) {
return "ALPHA_BITFIELDS";
} else {
return "UNDEFINED";
}
}
}
// Вот основной пример
Utils utils = new Utils();
long[] compressions = new long[]
{
com.aspose.imaging.fileformats.bmp.BitmapCompression.Rgb,
com.aspose.imaging.fileformats.bmp.BitmapCompression.Rle8,
};
com.aspose.imaging.Color[] paletterColors = new com.aspose.imaging.Color[]
{
com.aspose.imaging.Color.getRed(),
com.aspose.imaging.Color.getGreen(),
};
// Создайте монохромную палитру, содержащую только красный и зелёный цвета.
com.aspose.imaging.IColorPalette palette = new com.aspose.imaging.ColorPalette(paletterColors);
for (long compression : compressions) {
// Создайте BMP‑изображение с 8 бит на пиксель размером 100 × 100 пикселей.
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = new com.aspose.imaging.fileformats.bmp.BmpImage(100, 100, 8, palette, compression, 0.0, 0.0);
try {
com.aspose.imaging.Graphics gr = new com.aspose.imaging.Graphics(bmpImage);
// Заполните всё изображение красным цветом.
com.aspose.imaging.brushes.SolidBrush redBrush = new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getRed());
gr.fillRectangle(redBrush, bmpImage.getBounds());
// Сохраните изображение в поток, чтобы получить размер выходного изображения.
java.io.ByteArrayOutputStream stream = new java.io.ByteArrayOutputStream();
try {
bmpImage.save(stream);
System.out.printf("---------------------------------------------\r\n");
System.out.printf("The compression=%s\r\n", utils.getBitmapCompressionString(bmpImage.getCompression()));
System.out.printf("The number of bits per pixel=%s\r\n", bmpImage.getBitsPerPixel());
System.out.printf("The image dimensions=%s x %s\r\n", bmpImage.getWidth(), bmpImage.getHeight());
System.out.printf("The raw line size=%s\r\n", bmpImage.getRawLineSize());
System.out.printf("The output size in bytes=%s\r\n", stream.size());
} finally {
stream.close();
}
} finally {
bmpImage.dispose();
}
}
// Вывод может выглядеть так:
// Сжатие=RGB
// Количество бит на пиксель=8
// Размеры изображения=100 × 100
// Размер необработанной строки=100
// Размер вывода в байтах=11078
// ---------------------------------------------
// Сжатие=RLE8
// Количество бит на пиксель=8
// Размеры изображения=100 × 100
// Размер необработанной строки=100
// Размер вывода в байтах=856
getWidth()
public int getWidth()
Легко получайте ширину изображения с помощью этого свойства. Идеально для разработчиков, ищущих быструю информацию о размерах изображения.
Returns: int - Ширина изображения в пикселях.
Example: The following example gets the general information about the image including pixel format, image size, resolution, compression etc.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\sample.bmp");
try {
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = (com.aspose.imaging.fileformats.bmp.BmpImage) image;
System.out.println("The pixel format: " + bmpImage.getRawDataFormat());
System.out.println("The raw line size in bytes: " + bmpImage.getRawLineSize());
System.out.println("The bitmap compression: " + bmpImage.getCompression());
System.out.println("The bitmap width: " + bmpImage.getWidth());
System.out.println("The bitmap height: " + bmpImage.getHeight());
System.out.println("The number of bits per pixel: " + bmpImage.getBitsPerPixel());
double hres = bmpImage.getHorizontalResolution();
double vres = bmpImage.getVerticalResolution();
System.out.println("The horizontal resolution, in pixels per inch: " + hres);
System.out.println("The vertical resolution, in pixels per inch: " + vres);
if (hres != 96.0 || vres != 96.0) {
// Вы можете рассмотреть возможность использования метода SetResolution для обновления обоих значений разрешения одним вызовом.
System.out.println("Set resolution values to 96 dpi");
bmpImage.setResolution(96.0, 96.0);
System.out.println("The horizontal resolution, in pixels per inch: " + bmpImage.getHorizontalResolution());
System.out.println("The vertical resolution, in pixels per inch: " + bmpImage.getVerticalResolution());
}
} finally {
image.dispose();
}
//Вывод может выглядеть так:
//Формат пикселя: Rgb24Bpp, использованные каналы: 8,8,8
//Размер необработанной строки в байтах: 1500
//Сжатие bitmap: 0
//Ширина битмапа: 500
//Высота битмапа: 500
//Количество бит на пиксель: 24
//Горизонтальное разрешение, в пикселях на дюйм: 96.012
//Вертикальное разрешение, в пикселях на дюйм: 96.012
//Установить значения разрешения в 96 dpi
//Горизонтальное разрешение, в пикселях на дюйм: 96.012
//Вертикальное разрешение, в пикселях на дюйм: 96.012
getHeight()
public int getHeight()
Легко получайте высоту изображения с помощью этого свойства. Идеально для разработчиков, которым нужен быстрый доступ к информации о размерах изображения.
Returns: int - Высота изображения в пикселях.
Example: The following example gets the general information about the image including pixel format, image size, resolution, compression etc.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\sample.bmp");
try {
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = (com.aspose.imaging.fileformats.bmp.BmpImage) image;
System.out.println("The pixel format: " + bmpImage.getRawDataFormat());
System.out.println("The raw line size in bytes: " + bmpImage.getRawLineSize());
System.out.println("The bitmap compression: " + bmpImage.getCompression());
System.out.println("The bitmap width: " + bmpImage.getWidth());
System.out.println("The bitmap height: " + bmpImage.getHeight());
System.out.println("The number of bits per pixel: " + bmpImage.getBitsPerPixel());
double hres = bmpImage.getHorizontalResolution();
double vres = bmpImage.getVerticalResolution();
System.out.println("The horizontal resolution, in pixels per inch: " + hres);
System.out.println("The vertical resolution, in pixels per inch: " + vres);
if (hres != 96.0 || vres != 96.0) {
// Вы можете рассмотреть возможность использования метода SetResolution для обновления обоих значений разрешения одним вызовом.
System.out.println("Set resolution values to 96 dpi");
bmpImage.setResolution(96.0, 96.0);
System.out.println("The horizontal resolution, in pixels per inch: " + bmpImage.getHorizontalResolution());
System.out.println("The vertical resolution, in pixels per inch: " + bmpImage.getVerticalResolution());
}
} finally {
image.dispose();
}
//Вывод может выглядеть так:
//Формат пикселя: Rgb24Bpp, использованные каналы: 8,8,8
//Размер необработанной строки в байтах: 1500
//Сжатие bitmap: 0
//Ширина битмапа: 500
//Высота битмапа: 500
//Количество бит на пиксель: 24
//Горизонтальное разрешение, в пикселях на дюйм: 96.012
//Вертикальное разрешение, в пикселях на дюйм: 96.012
//Установить значения разрешения в 96 dpi
//Горизонтальное разрешение, в пикселях на дюйм: 96.012
//Вертикальное разрешение, в пикселях на дюйм: 96.012
getBitsPerPixel()
public int getBitsPerPixel()
Легко получайте количество бит на пиксель изображения с помощью этого свойства. Отлично подходит для разработчиков, ищущих быструю информацию о качестве и глубине изображения.
Returns: int — Количество бит на пиксель изображения.
Example: The following example gets the general information about the image including pixel format, image size, resolution, compression etc.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("c:\\temp\\sample.bmp");
try {
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = (com.aspose.imaging.fileformats.bmp.BmpImage) image;
System.out.println("The pixel format: " + bmpImage.getRawDataFormat());
System.out.println("The raw line size in bytes: " + bmpImage.getRawLineSize());
System.out.println("The bitmap compression: " + bmpImage.getCompression());
System.out.println("The bitmap width: " + bmpImage.getWidth());
System.out.println("The bitmap height: " + bmpImage.getHeight());
System.out.println("The number of bits per pixel: " + bmpImage.getBitsPerPixel());
double hres = bmpImage.getHorizontalResolution();
double vres = bmpImage.getVerticalResolution();
System.out.println("The horizontal resolution, in pixels per inch: " + hres);
System.out.println("The vertical resolution, in pixels per inch: " + vres);
if (hres != 96.0 || vres != 96.0) {
// Вы можете рассмотреть возможность использования метода SetResolution для обновления обоих значений разрешения одним вызовом.
System.out.println("Set resolution values to 96 dpi");
bmpImage.setResolution(96.0, 96.0);
System.out.println("The horizontal resolution, in pixels per inch: " + bmpImage.getHorizontalResolution());
System.out.println("The vertical resolution, in pixels per inch: " + bmpImage.getVerticalResolution());
}
} finally {
image.dispose();
}
//Вывод может выглядеть так:
//Формат пикселя: Rgb24Bpp, использованные каналы: 8,8,8
//Размер необработанной строки в байтах: 1500
//Сжатие bitmap: 0
//Ширина битмапа: 500
//Высота битмапа: 500
//Количество бит на пиксель: 24
//Горизонтальное разрешение, в пикселях на дюйм: 96.012
//Вертикальное разрешение, в пикселях на дюйм: 96.012
//Установить значения разрешения в 96 dpi
//Горизонтальное разрешение, в пикселях на дюйм: 96.012
//Вертикальное разрешение, в пикселях на дюйм: 96.012
getHorizontalResolution()
public double getHorizontalResolution()
Это свойство позволяет вам легко получать или задавать горизонтальное разрешение, измеряемое в пикселях на дюйм, объекта RasterImage. Идеально для разработчиков, которым нужен точный контроль над разрешением изображения в их приложениях.
Returns: double - Горизонтальное разрешение.
Обратите внимание, что по умолчанию это значение всегда равно 96, поскольку разные платформы не могут вернуть разрешение экрана. Вы можете рассмотреть возможность использования метода #setResolution(double, double).setResolution(double, double) для обновления обоих значений разрешения одним вызовом.
Example: The following example shows how to set horizontal/vertical resolution of a BMP image.
String dir = "c:\\temp\\";
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = (com.aspose.imaging.fileformats.bmp.BmpImage) image;
// Получить горизонтальное и вертикальное разрешение BmpImage
double horizontalResolution = bmpImage.getHorizontalResolution();
double verticalResolution = bmpImage.getVerticalResolution();
System.out.println("The horizontal resolution, in pixels per inch: " + horizontalResolution);
System.out.println("The vertical resolution, in pixels per inch: " + verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0) {
// Используйте метод SetResolution для обновления обоих значений разрешения одним вызовом.
System.out.println("Set resolution values to 96 dpi");
bmpImage.setResolution(96.0, 96.0);
System.out.println("The horizontal resolution, in pixels per inch: " + bmpImage.getHorizontalResolution());
System.out.println("The vertical resolution, in pixels per inch: " + bmpImage.getVerticalResolution());
}
} finally {
image.dispose();
}
// Вывод может выглядеть так:
// Горизонтальное разрешение, в пикселях на дюйм: 0.0
// Вертикальное разрешение, в пикселях на дюйм: 0.0
// Установить значения разрешения в 96 dpi
// Горизонтальное разрешение, в пикселях на дюйм: 96.012
// Вертикальное разрешение, в пикселях на дюйм: 96.012
setHorizontalResolution(double value)
public void setHorizontalResolution(double value)
Это свойство позволяет вам легко получать или задавать горизонтальное разрешение, измеряемое в пикселях на дюйм, объекта RasterImage. Идеально для разработчиков, которым нужен точный контроль над разрешением изображения в их приложениях.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | double |
Обратите внимание, что по умолчанию это значение всегда равно 96, поскольку разные платформы не могут вернуть разрешение экрана. Вы можете рассмотреть возможность использования метода #setResolution(double, double).setResolution(double, double) для обновления обоих значений разрешения одним вызовом. |
getVerticalResolution()
public double getVerticalResolution()
Легко получить или задать вертикальное разрешение, измеряемое в пикселях на дюйм, этого объекта RasterImage с помощью этого свойства. Идеально для разработчиков, которым нужен точный контроль над разрешением изображения в их приложениях.
Returns: double - Вертикальное разрешение.
Обратите внимание, что по умолчанию это значение всегда равно 96, поскольку разные платформы не могут вернуть разрешение экрана. Вы можете рассмотреть возможность использования метода #setResolution(double, double).setResolution(double, double) для обновления обоих значений разрешения одним вызовом.
Example: The following example shows how to set horizontal/vertical resolution of a BMP image.
String dir = "c:\\temp\\";
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = (com.aspose.imaging.fileformats.bmp.BmpImage) image;
// Получить горизонтальное и вертикальное разрешение BmpImage
double horizontalResolution = bmpImage.getHorizontalResolution();
double verticalResolution = bmpImage.getVerticalResolution();
System.out.println("The horizontal resolution, in pixels per inch: " + horizontalResolution);
System.out.println("The vertical resolution, in pixels per inch: " + verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0) {
// Используйте метод SetResolution для обновления обоих значений разрешения одним вызовом.
System.out.println("Set resolution values to 96 dpi");
bmpImage.setResolution(96.0, 96.0);
System.out.println("The horizontal resolution, in pixels per inch: " + bmpImage.getHorizontalResolution());
System.out.println("The vertical resolution, in pixels per inch: " + bmpImage.getVerticalResolution());
}
} finally {
image.dispose();
}
// Вывод может выглядеть так:
// Горизонтальное разрешение, в пикселях на дюйм: 0.0
// Вертикальное разрешение, в пикселях на дюйм: 0.0
// Установить значения разрешения в 96 dpi
// Горизонтальное разрешение, в пикселях на дюйм: 96.012
// Вертикальное разрешение, в пикселях на дюйм: 96.012
setVerticalResolution(double value)
public void setVerticalResolution(double value)
Легко получить или задать вертикальное разрешение, измеряемое в пикселях на дюйм, этого объекта RasterImage с помощью этого свойства. Идеально для разработчиков, которым нужен точный контроль над разрешением изображения в их приложениях.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| value | double |
Обратите внимание, что по умолчанию это значение всегда равно 96, поскольку разные платформы не могут вернуть разрешение экрана. Вы можете рассмотреть возможность использования метода #setResolution(double, double).setResolution(double, double) для обновления обоих значений разрешения одним вызовом. |
hasAlpha()
public boolean hasAlpha()
Получает значение, указывающее, имеет ли этот экземпляр альфа‑канал.
Returns: boolean — значение, указывающее, есть ли у этого экземпляра альфа‑канал.
setResolution(double dpiX, double dpiY)
public void setResolution(double dpiX, double dpiY)
Легко отрегулировать разрешение вашего RasterImage с помощью этого удобного метода. Идеально для разработчиков, стремящихся к точному контролю над разрешением изображения в своих приложениях.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| dpiX | double | Горизонтальное разрешение в точках на дюйм для RasterImage. |
| dpiY | double | Вертикальное разрешение в точках на дюйм для RasterImage. |
Example: The following example shows how to set horizontal/vertical resolution of a BMP image.
String dir = "c:\\temp\\";
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = (com.aspose.imaging.fileformats.bmp.BmpImage) image;
// Получить горизонтальное и вертикальное разрешение BmpImage
double horizontalResolution = bmpImage.getHorizontalResolution();
double verticalResolution = bmpImage.getVerticalResolution();
System.out.println("The horizontal resolution, in pixels per inch: " + horizontalResolution);
System.out.println("The vertical resolution, in pixels per inch: " + verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0) {
// Используйте метод SetResolution для обновления обоих значений разрешения одним вызовом.
System.out.println("Set resolution values to 96 dpi");
bmpImage.setResolution(96.0, 96.0);
System.out.println("The horizontal resolution, in pixels per inch: " + bmpImage.getHorizontalResolution());
System.out.println("The vertical resolution, in pixels per inch: " + bmpImage.getVerticalResolution());
}
} finally {
image.dispose();
}
// Вывод может выглядеть так:
// Горизонтальное разрешение, в пикселях на дюйм: 0.0
// Вертикальное разрешение, в пикселях на дюйм: 0.0
// Установить значения разрешения в 96 dpi
// Горизонтальное разрешение, в пикселях на дюйм: 96.012
// Вертикальное разрешение, в пикселях на дюйм: 96.012
getDefaultOptions(Object[] args)
public ImageOptionsBase getDefaultOptions(Object[] args)
Легко получить параметры по умолчанию с помощью этого простого метода. Идеально для разработчиков, которым нужен быстрый доступ к настройкам или конфигурациям изображения по умолчанию.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| args | java.lang.Object[] | Аргументы. |
Returns: ImageOptionsBase - Default options