用Applet在窗口上显示图像

时间:2015-10-21 20:48:54

标签: java eclipse macos applet processing

我正在使用处理包中定义的PApplet类对Java进行基本练习。 我在2011年MacBook pro enter image description here上使用Eclipse在OS X Yosemite上运行。我的JDK是最新的。

基本上我想在给定窗口上加载并显示调整大小的图像并在其上绘制一些东西。

代码如下

{ "_id" : { "year" : 2015, "month" : 10, "day" : 01 }, "count" : 1 }
{ "_id" : { "year" : 2015, "month" : 10, "day" : 02 }, "count" : 2 }
{ "_id" : { "year" : 2015, "month" : 10, "day" : 03 }, "count" : 0 }
...
{ "_id" : { "year" : 2015, "month" : 10, "day" : 30 }, "count" : 2 }

}

问题如下:如果我在setup()方法中注释行package tests; import processing.core.PApplet; import processing.core.PImage; public class MyApplet extends PApplet{ /** * */ private static final long serialVersionUID = 1L; PImage img; public void setup(){ size(400, 400); // set size of the window stroke(0); //set pen color img = loadImage("http://cseweb.ucsd.edu/~minnes/palmTrees.jpg", "jpg"); img.resize(0, height); //System.out.println(height); image(img, 0, 0); } public void draw() { int[] color = sunColorSec(second()); fill(color[0], color[1], color[2]); ellipse(width/4, height/5, width/4, height/5); } public int[] sunColorSec(float seconds){ int[] rgb = new int[3]; float diffFrom30 = Math.abs(30 - seconds); float ratio = diffFrom30/30; rgb[0] = (int) (255*ratio); rgb[1] = (int) (255*ratio); rgb[2] = 0; return rgb; } ,一切都很好。 当我取消注释时,我得到以下结果(见附图):我加载的图像没有调整大小,它显示在位于左下角的窗口的一小部分上,加上它是倒置的。 / p>

我不明白这是代码问题还是OS-X问题:有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

对于Eclipse中的Processing 3.x,您的草图应该遵循这种模式(注意size()现在进入设置):

import processing.core.PApplet;

public class Template extends PApplet {

    PImage img;

    public void settings() {
        size(512, 200);
    }

    public void setup() {

    }

    public void draw() {

        background(0, 30, 0);
    }

    public static void main(String[] args) {

        PApplet.main(new String[] { Template.class.getName() });
    }
}