обработка: сгенерированный pdf обрезан при y = 1000 - PullRequest
0 голосов
/ 19 мая 2011

Я создаю PDF с этим размером при обработке (используя eclipse): size (1200, 2000, PDF, "testruns.pdf");

Моя проблема в том, что PDF содержит только содержимое, котороеменьше, чем координата y 1000.

Все, что ниже этого, не отображается на результирующем графике.

Для иллюстрации: строки последней строки должны более или менее касаться правого дна моего pdf,Вместо этого они обрезаются посередине, потому что мой pdf там заканчивается.

 for (int i = 0; i < p.height; i++) {
    if (i%10==0)
       p.line(0,0,p.width,i);
 } 

Где я могу изменить этот предел в 1000?

edit: Вместо строк, выглядящих так:

1

********                                                                  
 *******                                                                  
   *****                                                                  
     ***                                                                  
       *   

они выглядят так:

2

********                                                                  
 *******                                                                  
   *****                                                                  

edit: здесь PDF, вы можете увидеть ошибку в нем.Я использовал фрагмент кода, предоставленный Джорджем Профенца, для создания PDF.Это хорошо иллюстрирует мою проблему: https://rapidshare.com/files/2041623366/testruns_simpletest.pdf ура

1 Ответ

1 голос
/ 19 мая 2011

Я не могу повторить, что вы проблема.Я использовал ваш код в двух похожих случаях, и они отлично работали:

package pdftest;

import processing.core.PApplet;

public class PDFTest extends PApplet {

    public void setup() {
         size(1200, 2000, PDF, "testruns.pdf");
         noLoop();
         for (int i = 0; i < height; i++) if (i%10==0) line(0,0,width,i);
         exit();
    }

}

и

package pdftest;

import processing.core.PApplet;

public class PDFTest2 extends PApplet {

    public void setup() {
        size(1200, 2000);
        noLoop();
        beginRecord(PDF, "filename.pdf");
        for (int i = 0; i < height; i++) if (i%10==0) line(0,0,width,i);
        endRecord();
    }

}

Оба работают хорошо.

Также я заметилвы используете p.height, p.line( и т. д., что заставляет меня думать, что вы создаете экземпляр PApplet внутри другого апплета какого-то рода, но больше ничего не получается, так как я не вижу кода.Попробуйте основную информацию, которую я предоставил, которая также доступна как zip eclipse project .

Возможно, где-то в апплете есть что-то, что содержит ваш экземпляр PApplet, или размеры апплета 'container' не совпадают с размерами экземпляра PApplet, не уверен.

ОБНОВЛЕНИЕ:

Я протестировал оба моих апплета, используя eclipse helios и core.jar из Обработки 1.5.1 в Windows XP.

PDFTest предоставил файл PDF с той же проблемой, о которой вы упомянули, поэтому я смог воспроизвести проблему.Я не уверен, почему это происходит, как это происходит в Windows, а не в OSX.

PDFTest2 правильно отобразил pdf, но я получил предупреждение в консоли:

isRecording(), or this particular variation of it, is not available with this renderer.

Не уверен, что это значит быть честным.@nemoo PDFTest2 также генерирует правильный pdf на вашем компьютере?

...