Битмап-изображения являются ключевой частью современных графиков. Они используются на веб-сайтах, мобильных устройствах и настольных приложениях. Форматы такие как BMP, GIF, PNG и JPEG все основаны на битмапах. В этой статье вы научитесь создавать, загружать, заполнять и рисовать битмапы на Java.
Java Image Drawing SDK для работы с битмапами
В этой статье мы будем использовать Aspose.Drawing for Java для создания и рисования на битмапах в Java. Это API для 2D-графики, которое поддерживает рисование фигур, текста и изображений на различных платформах. Вы можете легко загружать и сохранять различные форматы.
Вы можете скачать библиотеку из releases и добавить JAR в ваш проект или установить через Maven.
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-drawing</artifactId>
<version>25.6</version> <!-- Replace with latest version -->
</dependency>
1. Создайте новый битмап в Java
Чтобы создать битмап с нуля, выполните следующие шаги:
- Создайте новый
bitmap
с заданной шириной и высотой. - Создайте объект класса
Graphics
из битмапа. - Инициализируйте объект класса
Pen
с определенной толщиной и цветом. - Нарисуйте эллипс на битмапе, используя перо.
- Сохраните растровое изображение в виде файла изображения PNG.
Следующий пример кода демонстрирует, как создать новый битмап в Java.
// Создайте новый битмап с шириной и высотой 800 пикселей
Bitmap bitmap = new Bitmap(800, 800);
// Создайте объект графики из битмапа, чтобы включить рисование
Graphics graphics = Graphics.fromImage(bitmap);
// Инициализируйте красную ручку с толщиной 5 пикселей
Pen pen = new Pen(Color.getRed(), 5);
// Нарисуйте эллипс с помощью ручки, начиная с (0, 0) с шириной и высотой 700 пикселей.
graphics.drawEllipse(pen, 0, 0, 700, 700);
// Сохраните финальный битмап в файл изображения PNG.
bitmap.save("output.png");

Создайте новый битмап в Java
2. Создать битмап из потока памяти
Чтобы создать битмап из потока памяти, выполните следующие шаги:
- Откройте поток ввода файла для существующего файла изображения.
- Создайте битмап из входного потока.
- Сохраните битмап в новый файл изображения.
Следующий пример кода показывает, как создать битмап с использованием входного потока в Java.
// Откройте поток ввода файла, чтобы прочитать существующее изображение
InputStream stream = new FileInputStream("input.png");
// Создайте растровое изображение из входного потока
Bitmap bitmap = new Bitmap(stream);
// Сохраните битмап как новый файл PNG
bitmap.save("output.png", ImageFormat.getPng().d());
3. Сохранить битмап в файл
Вы можете сохранить изображение в формате битовой карты в файл в нескольких поддерживаемых форматах. Просто укажите путь к файлу и желаемый формат изображения при вызове метода save()
. Это позволяет экспортировать битмап в форматах PNG, JPEG, BMP, GIF и других.
Вы можете сохранять битмапы в разные форматы, изменив формат изображения:
- Сохранить Bitmap как файл BMP
bitmap.save("output.bmp", ImageFormat.getBmp().d());
- Сохранить битмап как файл PNG
bitmap.save("output.png", ImageFormat.getPng().d());
- Сохраните битмап в формате JPG файла
bitmap.save("output.jpg", ImageFormat.getJpeg().d());
- Сохранить битмап в файл GIF
bitmap.save("output.gif", ImageFormat.getGif().d());
4. Рисование фигур на битмапе
Вы можете рисовать различные фигуры на растровом изображении с помощью класса Graphics
, предоставленного Aspose.Drawing for Java. Он позволяет создавать пользовательскую графику и дает вам полный контроль над линиями, кривыми, прямоугольниками, эллипсами и многим другим.
Следующий образец кода показывает, как рисовать фигуры на битмапе в Java.
// Создайте новый битмап с шириной и высотой 500 пикселей.
Bitmap bitmap = new Bitmap(500, 500);
// Создайте объект графики для рисования на битмапе
Graphics graphics = Graphics.fromImage(bitmap);
// Инициализируйте синюю ручку с толщиной 2 пикселя
Pen pen = new Pen(Color.getBlue(), 2);
// Нарисуйте прямоугольник, начиная с (10, 10) с шириной 100 и высотой 50
graphics.drawRectangle(pen, 10, 10, 100, 50);
// Начните рисовать эллипс в точке (10, 130) шириной 280 и высотой 280.
graphics.drawEllipse(pen, 10, 130, 280, 280);
// Сохраните окончательное изображение в формате bitmap как файл PNG
bitmap.save("draw_shapes.png");

Нарисуйте фигуры на битмапе в Java
Вы можете рисовать различные фигуры на растровом изображении, используя встроенные методы рисования, предоставляемые классом Graphics
в Aspose.Drawing for Java. Ниже представлены поддерживаемые типы фигур и соответствующие методы:
- Arc: Используйте метод
drawArc()
, чтобы нарисовать дугу. - Кривая Безье: Используйте метод
drawBezier()
, чтобы нарисовать одну кривую Безье. - Множественные кривые Безье: Используйте метод
drawBeziers()
, чтобы нарисовать последовательность сплайнов Безье. - Кривая: Используйте метод
drawCurve()
для создания гладкой, изогнутой формы. - Закрытая кривая: Используйте метод
drawClosedCurve()
, чтобы нарисовать закрытую сплайн. - Эллипс: Используйте метод
drawEllipse()
, чтобы нарисовать эллиптическую форму. - Используйте метод
drawLine()
, чтобы нарисовать прямую линию. - Несколько строк: Используйте метод
drawLines()
, чтобы нарисовать серию связанных линий. - Путь: Используйте метод
drawPath()
, чтобы отрисовать сложные формы, используяGraphicsPath
. - Пирог: Используйте метод
drawPie()
, чтобы нарисовать форму кусочка пирога. - Полигон: Используйте метод
drawPolygon()
, чтобы создать полигон, соединяя точки. - Прямоугольник: Используйте метод
drawRectangle()
, чтобы нарисовать прямоугольник. - Несколько прямоугольников: Используйте метод
drawRectangles()
, чтобы нарисовать несколько прямоугольников сразу.
В дополнение к фигурам, вы также можете рисовать изображения на растровом изображении:
- Иконка: Используйте метод
drawIcon()
, чтобы нарисовать иконку внутри конкретного прямоугольника. - Изображение: Используйте метод
drawImage()
, чтобы нарисовать другое изображение на битмапе.
Эти методы рисования позволяют легко создавать пользовательскую графику, диаграммы или аннотированные изображения программным способом.
5. Рисуйте текст на битмапе
Чтобы нарисовать текст на битмапе, следуйте приведенным ниже шагам:
- Создайте новый битмап с заданной шириной и высотой.
- Создайте графический объект из битмапа.
- Очистите битмап с фоновым цветом светло-серого.
- Определите шрифт с желаемым названием и размером.
- Создайте сплошную кисть черного цвета.
- Нарисуйте текстовую строку на растровом изображении, используя указанный шрифт и кисть.
- Сохраните растровое изображение в формате PNG.
Следующий пример кода показывает, как рисовать текст на битмапе в Java.
// Как нарисовать текст на битмапе в Java с использованием Aspose.Drawing
// Создайте новый битмап с размерами 500x200 пикселей
Bitmap bitmap = new Bitmap(500, 200);
// Создайте объект графики для рисования на битмапе
Graphics graphics = Graphics.fromImage(bitmap);
// Заполните весь растровый образец светло-серым фоном
graphics.clear(Color.getLightGray());
// Определите шрифт с именем \"Arial\" и размером 24
Font font = new Font("Arial", 24);
// Создайте сплошную черную кисть для рисования текста
Brush brush = new SolidBrush(Color.getBlack());
// Нарисуйте строку на битовой карте в позиции (20, 80)
graphics.drawString("Welcome to Bitmap!", font, brush, 20, 80);
// Сохраните финальное изображение с текстом в формате PNG.
bitmap.save("output.png");

Java Нарисовать текст на битмапе
6. Заполнить битмап сплошным цветом
Вы можете заполнить часть изображения сплошным цветом, следуя приведенным ниже шагам:
- Создайте новый битмап с желаемой шириной и высотой.
- Создайте графический объект из битмапа.
- Создайте сплошную серую кисть для заливки.
- Заполните всю область битмапа серым цветом, используя залитый прямоугольник.
- Сохраните растровое изображение в виде файла изображения PNG.
Следующий пример кода показывает, как заполнить битмап однотонным цветом с помощью прямоугольника в Java.
// Создайте новый битмап размером 500x500 пикселей
Bitmap bitmap = new Bitmap(500, 500);
// Создайте графический объект для рисования на растровом изображении
Graphics graphics = Graphics.fromImage(bitmap);
// Создайте сплошную серую кисть для заливки
SolidBrush brush = new SolidBrush(Color.getGray());
// Заполните всю область растра серым цветом
graphics.fillRectangle(brush, 0, 0, bitmap.getWidth(), bitmap.getHeight());
// Сохраните заполненный битмап в формате PNG.
bitmap.save("output.png");

Java Нарисовать Прямоугольник на Битмапе и Заполнить Цветом
7. Загрузите изображение в Bitmap
Вы также можете загрузить файл изображения в объект Bitmap
следующим образом:
- Создайте новый пустой битмап нужного размера.
- Загрузите существующее изображение в объект bitmap.
- Создайте объект графики из пустого битмапа.
- Нанесите загруженное изображение на пустой битмап в верхнем левом углу.
- Сохраните финальный битмап как файл изображения PNG.
Следующий пример кода показывает, как загрузить изображение в растровом формате, используя Java.
// Создайте новый пустой битмап размером 500x500 пикселей
Bitmap bitmap = new Bitmap(500, 500);
// Загрузите существующее изображение из файла в объект bitmap.
Bitmap loaded = new Bitmap("C:\\Files\\Drawings\\sample.jpg");
// Создайте графический объект для рисования на пустом битмапе
Graphics graphics = Graphics.fromImage(bitmap);
// Перенесите загруженное изображение на пустой битмап в позицию (0, 0)
graphics.drawImage(loaded, 0, 0);
// Сохраните финальный растровый рисунок как новый PNG файл
bitmap.save("output.png");

Загрузить изображение в формате Bitmap с помощью Java
8. Изменение размера существующего изображения
Чтобы изменить размер растрового изображения:
- Загрузите оригинальное изображение в объект битмап.
- Создайте новый битмап с шириной и высотой в два раза меньше оригинального изображения.
- Сохраните измененное изображение в формате PNG.
Следующий пример кода показывает, как изменить размер существующего изображения и сохранить его как новый битмап в Java.
// Загрузите оригинальное изображение из файла в объект битмап.
Bitmap original = new Bitmap("C:\\Files\\Drawings\\sample.jpg");
// Создайте новый измененный размер битмап с 50% от оригинальной ширины и высоты
Bitmap resized = new Bitmap(original, new Size((int)(original.getWidth() * 0.5), (int)(original.getHeight() * 0.5)));
// Сохраните измененный растровый образ как новый файл изображения PNG
resized.save("output.png");

Изменение размера существующего изображения с помощью Java
Попробуйте Aspose.Drawing бесплатно
Вы можете получить бесплатную временную лицензию, чтобы исследовать Aspose.Drawing без ограничений.
Создание битмапа в Java: бесплатные ресурсы
если вы хотите узнать больше о работе с битмапами в Java, тогда просмотрите следующие бесплатные ресурсы, чтобы углубить свои знания и повысить свою продуктивность:
Заключение
В этом уроке вы узнали, как создавать и работать с битмапами, используя Aspose.Drawing for Java. Мы рассмотрели, как генерировать битмап с нуля, загружать и изменять размер существующих изображений, рисовать фигуры и текст, заполнять области сплошными цветами и сохранять изображения в различных форматах, таких как PNG, JPG, BMP и GIF. С этими возможностями вы можете легко добавлять пользовательскую графику и обработку изображений в свои Java-приложения.
Aspose.Drawing for Java упрощает работу с 2D графикой программным способом. Посетите официальную документацию, чтобы узнать больше.