текст () в обработке - PullRequest
       25

текст () в обработке

3 голосов
/ 20 января 2012

Я играю с Processing, чтобы увидеть, как все работает, но при работе с методом text (), похоже, возникают проблемы со временем загрузки.

Код, который у меня есть, просто загружает изображение PNGна экран, а затем 3 4 буквенные слова размером 24. Когда я оставляю там только код загрузки изображения, приложение запускается сразу, но когда я вставляю код text (), это занимает примерно 3-4 секунды, прежде чемон загружается.

Выше было сделано прямо из приложения Processing, но я фактически разрабатываю его внутри JFrame, поэтому в течение первых 4 секунд я фактически вижу пустой JFrame, который довольно уродлив.

У меня вопрос к вам, ребята, знаете ли вы о проблеме с text () или есть логическая причина, по которой загрузка загружается так долго.

- ЗапускJava 7 на четырехъядерном компьютере

Вот соответствующий код

PImage backgroundImage;
PFont font;

/**
 * PApplet method - performs all setup actions
 */
public void setup(){
    this.size( 1400, 900);

    backgroundImage = loadImage( "EG_dark.png" );
    backgroundImage.resize( width, height );
    this.background(backgroundImage);

     font = createFont("AmericanTypewriter", 24);
     textFont(font);

}

/**
 * PApplet method - All drawing occurs here
 */
public void draw(){
    if(backgroundImage.width != width || backgroundImage.height != height){
        backgroundImage.resize( width, height );
    }

    this.background(backgroundImage);

    fill(0, 102, 153);
    text("word", 15, 30); 
    fill(0, 102, 153);
    text("word", 15, 60);
    fill(0, 102, 153);
    text("word", 15, 90);
}

1 Ответ

4 голосов
/ 23 января 2012

То, что вы описываете, является правильным поведением обработок createFont.

Чтобы процитировать прямо из документации:

createFont ():

Динамически преобразует шрифт в формат, используемый при обработке, из любого имени шрифта, установленного накомпьютер или из файла .ttf или .otf внутри папки «данные» эскизов.Эта функция является расширенной функцией для точного управления.В большинстве случаев вы должны создавать шрифты, выбрав «Создать шрифт ...» в меню «Инструменты».

то, что вы пытаетесь сделать, лучше обрабатывается созданием файла шрифта vlw через приложение обработки:menu / tools / Create Font ... (скопировать полученный файл в папку данных вашего приложения)

PFont font;
font = loadFont("AmericanTypewriter.vlw");
textFont(font, 24); 
...
text("word", 15, 50);
...