Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Java работа с изображениями


Автор: gawriil 19.6.2011, 22:13
Здравствуйте!
Пытаюсь переехать на Java, но не могу осилить работу с изображениями(это выше моего понимания). 
Задача:
Есть исходное изображение (jpg файл). Надо создать черный квадрат с шириной равной ширине исходного изображения и высотой в 2 раза большей чем у исходного изображения. Вставить исходное изображение в полученный черный квадрат. Внизу черного квадрата вставить текст в место определенное координатами х и у. Сохранить результат в jpg файл на диске. Пожалуйста пните в нужном направлении. И если кому не лень выложите пример с комментариями. Заранее спасибо.

Автор: Stolzen 20.6.2011, 09:04
Как-то так

Код

import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.InputStream;
import java.net.URL;

import javax.imageio.ImageIO;

...

public static void main(String[] args) throws Exception {
    // загружаем картиику
    URL url = new URL("http://forum.vingrad.ru/style_images/2/t_new.gif");
    InputStream imageStream = url.openStream();
    BufferedImage img = ImageIO.read(imageStream);

    int h = img.getHeight();
    int w = img.getWidth();

    // создаем новое изображение
    BufferedImage newImage = new BufferedImage(w + 30, h + 30,
            BufferedImage.TYPE_INT_ARGB);
    
    int dx = 15;
    int dy = 15;

    // получаем канву, на которой можно рисовать
    Graphics g = newImage.getGraphics();
    
    // помещаем в центр загруженное изображение
    g.drawImage(img, dx, dy, null);
    
    // ниже рисуем слово String
    String str = "String";
    // черным цветом
    g.setColor(Color.BLACK);
    g.drawChars(str.toCharArray(), 0, str.length(), 5, h + 20);
    
    g.dispose();

    ImageIO.write(newImage, "PNG", new File("newImage.png"));
}


jpeg и черный фон, думаю, сможете сами приделать


user posted image

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)