处理:生成的 pdf 在 y=1000 处截止

发布于 2024-11-08 01:51:58 字数 1485 浏览 2 评论 0原文

我在处理中生成一个具有此大小的pdf(使用eclipse): 大小(1200、2000、PDF、“testruns.pdf”);

我的问题是,pdf 仅包含小于 1000 y 坐标的内容。

低于此的所有内容都不会显示在结果图中。

举例来说:最后一行应该或多或少接触我的pdf的右下角。相反,它们在中间被切断,因为我的 pdf 就在那里结束。

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

我在哪里可以更改这个 1000 限制?

编辑: 而不是像这样的行:

1

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

它们看起来像这样:

2

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

编辑:这是 pdf,您可以看到其中的错误。我使用 George Profenza 提供的代码片段来生成 pdf。它很好地说明了我的问题。: https://rapidshare.com/files/2041623366/testruns_simpletest。 pdf 干杯

I generate a pdf with this size in processing (using eclipse):
size(1200, 2000, PDF, "testruns.pdf");

My problem is, that the pdf only contains the content that is smaller that the y coordinate of 1000.

Everything below this is not displayed in the resulting graph.

To illustrate: the final line lines should more or less touch the right bottom of my pdf. Instead they are cut off at the middle because my pdf just ends there.

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

Where can i alter this 1000 limit?

edit:
Instead of the lines looking like this:

1

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

they look like this:

2

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

edit: here is the pdf, you can see the error in it. I used the code snippet provided by George Profenza to generate the pdf. It illustrates my problem quite nicely.: https://rapidshare.com/files/2041623366/testruns_simpletest.pdf
cheers

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风渺 2024-11-15 01:51:58

我似乎无法复制你的问题。
我在两个类似的实例中使用了您的代码,它们工作得很好:

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.heightp.line( 等,这让我认为您正在另一个 Applet 中创建 PApplet 的实例某种程度,但无法解决更多问题,因为我看不到代码,请尝试我提供的基本代码,这些代码也可作为 压缩的 Eclipse 项目

也许包含您的 PApplet 实例的小程序中的某处存在某些问题,或者“容器”小程序的尺寸与PApplet 实例,不确定。

更新:

我已经使用 Windows XP 上的 Processing 1.5.1 中的 eclipse helios 和 core.jar 测试了我的两个小程序,

并呈现了与您提到的相同的问题,所以我能够复制这个问题,因为它发生在 Windows 上,而不是 OSX 上,

但我确实在控制台中收到了警告:

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

老实说,不确定这意味着什么。 。
@nemoo
PDFTest2 是否也在您的计算机上生成正确的 pdf?

I can't seem to replicate you're issue.
I've used your code in two similar instances and they worked fine:

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();
    }

}

and

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();
    }

}

Both run well.

Also, I've noticed you use p.height, p.line(, etc. which makes me think you're creating an instance of a PApplet inside another Applet of some sort, but can't work out much more since I can't see the code. Try the basic I've provided, which are also available as a zipped eclipse project.

Maybe there is something in the way somewhere in the applet that contains your PApplet instance, or the dimension of the 'container' applet do not match the ones of the PApplet instance, not sure.

UPDATE:

I've tested both of my applets using eclipse helios and core.jar from Processing 1.5.1 on Windows XP.

PDFTest rendered a pdf with the same problem you mentioned, so I was able to replicate the issue. I am not sure why this happens, as it happens on Windows, not OSX.

PDFTest2 rendered the pdf correctly, but I did get a warning in the console:

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

Not sure what that means to be honest.
@nemoo
Does PDFTest2 generate the correct pdf on your machine as well ?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文