Я не могу повторить, что вы проблема.Я использовал ваш код в двух похожих случаях, и они отлично работали:
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 на вашем компьютере?