БлогNot. Вывод текста нестандартным графическим шрифтом в Java2ME

Вывод текста нестандартным графическим шрифтом в Java2ME

Разумеется, шрифт придется создать.

Необходимые для вывода текста на графический экран объекты Canvas и Graphics в Java2ME поддерживаются с профиля MIDP1.0, то есть, доступны абсолютно всем телефонам, поддерживающим яву.

А если говорить про вывод текста, то вот рабочий класс, который выводит текст в BufferScreen, а затем этот BufferScreen выводится на экран:

public class MIDPCanvas extends Canvas {

 // Переменные буферного экрана
 private Image BufferScreen = null;
 private Graphics BS = null;
 private final int SCREEN_WIDTH = 176, SCREEN_HEIGHT = 208; 
  //Здесь размеры экрана для Nokia

 // Шрифт
 private static Image bigFont = null;

 public MIDPCanvas() {
  // Создаем BufferScreen
  BufferScreen = Image.createImage(SCREEN_WIDTH, SCREEN_HEIGHT);
  BS = BufferScreen.getGraphics();
  // Грузим Шрифт
  try {
   bigFont = Image.createImage("/bfnt.png");
  } 
  catch(java.io.IOException e) {} ;
  // Печатаем строку
  printString(10,10,"TEST");
 }

 public void paint(Graphics g) {
  g.setColor(0x000000ff);
  g.fillRect(0, 0, getWidth(), getHeight());
  g.drawImage(BufferScreen, getWidth() / 2, getHeight() / 2, 
   Graphics.VCENTER|Graphics.HCENTER);
 }

 // Печать строки
 protected void printString(int x, int y, String str) {
  int len = str.length(); 
  for (int i = 0; i < len; i++) {
   char ch = str.charAt(i);
   ch -= 32;
   BS.setClip(x, y , 8, 8);
   BS.drawImage(bigFont, x - (ch & 7) * 8, y - (ch >>> 3) * 8, 
    Graphics.LEFT|Graphics.TOP);
   x += 8;
  }
  BS.setClip(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
 } 
}

Файл bfnt.png - размером 64х64 пикселя и содержит нарисованные буквы размером 8х8 точек. Для среды WTK достаточно положить такой файл в папку ресурсов (res) проекта.

 Оригинал статьи

27.01.2009, 17:21 [13191 просмотр]


теги: программирование графика мобильник java2me

К этой статье пока нет комментариев, Ваш будет первым