Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lec_06

.pdf
Скачиваний:
7
Добавлен:
31.05.2015
Размер:
528.35 Кб
Скачать

Изображения. Пример загрузки и отрисовки изображения

import java.io.*; import java.awt.image.*; import javax.imageio.*; import java.awt.*; import javax.swing.*;

public class ImageDrawer extends JApplet { BufferedImage image = null;

public void init() { try {

image = ImageIO.read(new File("mypicture.jpg")); } catch (IOException e) { e.printStackTrace(); }

}

public void paint(Graphics g) { g.drawImage(image, 0, 0, null);

}

}

Изображения. Рисование на изображении

//Создание изображения с помощью конструкторов BufferedImage new BufferedImage(width, height, type)

BufferedImage.TYPE_...

//Создание изображения с помощью методов Component Component.createImage(width, height)

//Рисование на изображении

BufferedImage image =

new BufferedImage(640, 480, BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = image.createGraphics();

g2.fillRect(0, 0, 100, 100);

Изображения. Сохранение в файл

static boolean ImageIO.write(RenderedImage im, String formatName, File output) throws IOException

formatName: JPG, PNG, GIF, BMP, WBMP (Стандартные "plug-in" модули из Image I/O API)

// Запись и сохранение изображения в файл try {

BufferedImage image = createMyImage();

File outputfile = new File("mySavedImage.png"); ImageIO.write(image, "png", outputfile);

} catch (IOException e) { ... }

/* Доступные для записи форматы графических изображений в данной среде исполнения */

for (String writerFormatName: ImageIO.getWriterFormatNames()) System.out.println(writerFormatName);

Печать. Hello World!

import java.awt.*; import java.awt.print.*; public class PrintingDemo implements Printable {

public int print(Graphics g, PageFormat pf, int page) throws PrinterException { if (page > 0) { return NO_SUCH_PAGE; }

Graphics2D g2d = (Graphics2D)g;

g2d.translate(pf.getImageableX(), pf.getImageableY()); // (0,0) -- > (ImageableX, ImageableY) g.drawString("Hello world!", 100, 100);

return PAGE_EXISTS;

}

public static void main(String[] args) { PrinterJob job = PrinterJob.getPrinterJob(); job.setPrintable(new PrintingDemo()); boolean ok = job.printDialog();

if (ok) {

try { job.print(); }

catch (PrinterException ex) { … }

}

}

}

Ресурсы по лекции

Java Tutorials. Trail: 2D Graphics http://docs.oracle.com/javase/tutorial/2d

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]