Бітмапні зображення є основною частиною сучасної графіки. Вони використовуються на вебсайтах, мобільних пристроях та настільних програмах. Формати, як-от BMP, GIF, PNG, і JPEG є всі на основі бітмапів. У цій статті ви дізнаєтеся, як створити, завантажити, заповнити та намалювати бітмапи в Java.
Java Image Drawing SDK для роботи з бітмапами
В цій статті ми будемо використовувати Aspose.Drawing for Java для створення та малювання на бітмапах у Java. Це 2D графічний API, який підтримує малювання форм, тексту та зображень на різних платформах. Ви можете легко завантажувати та зберігати різні формати.
Ви можете завантажити бібліотеку з 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. Створити Bitmap з пам’яті у потоці
Щоб створити растрове зображення з потоку пам’яті, виконайте наведені нижче кроки:
- Відкрийте вхідний потік файлу для існуючого файлу зображення.
- Створіть бітову мапу з вхідного потоку.
- Збережіть растрове зображення в новий файл зображення.
Наступний приклад коду демонструє, як створити растрове зображення, використовуючи вхідний потік у Java.
// Відкрийте потік вводу файлу, щоб прочитати існуюче зображення.
InputStream stream = new FileInputStream("input.png");
// Створіть растрове зображення з вхідного потоку
Bitmap bitmap = new Bitmap(stream);
// Збережіть бітову карту як новий файл PNG.
bitmap.save("output.png", ImageFormat.getPng().d());
3. Зберегти Bitmap у файл
Ви можете зберегти бітову картинку у файл у кількох підтримуваних форматах. Просто вкажіть шлях до файлу та бажаний формат зображення при виклику методу save()
. Це дозволяє експортувати бітову картинку у форматах PNG, JPEG, BMP, GIF та інших.
Ви можете зберігати бітмапи в різних форматах, змінюючи формат зображення:
- Збережіть бітову карту як файл 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);
// Draw a rectangle starting at (10, 10) with width 100 and height 50
graphics.drawRectangle(pen, 10, 10, 100, 50);
// Намалюйте еліпс, починаючи з (10, 130) з шириною 280 і висотою 280.
graphics.drawEllipse(pen, 10, 130, 280, 280);
// Збережіть фінальне растрове зображення у форматі 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. Намалюйте текст на bitmap
Щоб намалювати текст на бітовій мапі, дотримуйтесь наведених нижче кроків:
- Створіть новий бітмап з визначеною шириною та висотою.
- Створіть графічний об’єкт з бітової мапи.
- Очистіть растрове зображення з світло-сірим фоновим кольором.
- Визначте шрифт з бажаною назвою і розміром.
- Створіть суцільну кисть чорного кольору.
- Намалюйте текстовий ряд на бітмапі, використовуючи зазначений шрифт і щітку.
- Збережіть растрове зображення у форматі 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 Draw Text on Bitmap
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
таким чином:
- Створіть новий порожній бітмап з бажаним розміром.
- Завантажте наявне зображення в об’єкт бітмап.
- Створіть об’єкт графіки з порожнього растрового зображення.
- Намалюйте завантажене зображення на порожньому бітмапі в верхньому лівому куті.
- Збережіть фінальний бітмап як файл зображення 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.
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 графікою програмним способом. Завітайте до офіційної документації, щоб дізнатися більше.