Java 2 Micro Edition (J2ME)



Отображение изображения с помощью Canvas


Вы уже узнали в главе 5, что некоторые компоненты высокоуровневого пользовательского интерфейса MIDP умеют отображать изображения, например, как часть элемента в ChoiceGroup. Объекты Canvas также могут отображать изображения. Кроме рисования базовых геометрических фигур, объект Canvas может «рисовать» изображения с помощью того же контекста Graphics, который он использует для низкоуровневых функций рисования. MIDP поддерживает только формат изображений PNG.

На рисунке 6.12 показано изображение, отображаемое в Canvas. В листинге 6.10 показана исходная программа, создающая изображение, показанное на рисунке 6.12. Структура программы сходна с другими демонстрационными программами Canvas, приведенными в этой главе.

Рисунок 6.12. Canvas может отображать изображение, на самом деле рисуя изображение в контексте Graphics объекта изображения

Листинг 6.10. Чтобы отобразить изображение, Canvas просто «рисует» объект изображения с помощью процедуры рисования изображения объекта Graphics

import javax.microedition.lcdui.Canvas;

import javax.microedition.lcdui.Command;

import javax.microedition.lcdui.CommandListener;

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.microedition.lcdui.Graphics;

import javax.microedition.lcdui.Image;

import Java.io.lOException;

/*

Демонстрирует двойную буферизацию изображений в Canvas.

Изображения автоматически дважды буферизируются.

Эта программа демонстрирует, что вы ничего не должны делать для получения

поведения двойной буферизации при отображении изображений.

Однако вам все равно придется провести двойную буферизацию

операции, которая рисует фон Canvas, до рисования изображения.

*/

public class DoubleSufferlmageDemo extends Canvas

implements CommandListener

{

// Константа, которая представляет белый цвет.

private static final int WHITE = OxFF « 16 I OxFF « 8 I OxFF;

private static Command back = new Command ("Back", Command.BACK, 1);




Содержание  Назад  Вперед