Processing之旅-----【14课,关于图片用法的两三说】
我们上课,今天我将一种很常用的方法。就是图片。//这节课,我们来讲述,关于PImage的用法。
//主要包括,创建图片,读取图片,显示图片。
//至于一些图像处理的方法将会慢慢讲到。
//
//
//
//
//
//
PImage myimage;//声明一个图形对象
int x;
void setup()
{
size(512, 512,P2D);
x=0;
//myimage=createImage(2048,512,ARGB); 也可以这么创建
myimage=createYourImage();//接受返回的对象
}
PImage createYourImage()//画画函数
{
PGraphics buffer = createGraphics(2048, 512, P2D);//声明了一个这么大的缓冲
buffer.beginDraw();//开始作画
for (int i = 0; i<2048; i++)//这个函数非常简单就是画2048条彩色的直线
{
buffer.stroke((int)random(0, 255),(int)random(0, 255) ,(int)random(0, 255) );
buffer.line(i, 0, i, 512);
println("i: "+i);
}
buffer.endDraw();//结束绘画
return buffer.get();
}
void draw()
{
if (x>-2048)
{
println("x: "+x);
image(myimage,x--, 0);//向左移动整个图像
}
}
{:soso_e101:} 知道世界上最廉价的劳动力是什么吗?是大学生……这段时间,接到了一个美国加州的一个同学的求作业的要求。本来麽,这种东西低于2000是没人做的。但是这同学说他就400百。我看就是一个打地鼠,做就做了。结果做完之后被告知不需要了,另外一个研究生给他发了一个打地鼠,价格350元。人民币啊……世界上还有比大学生更廉价的劳动力吗?
所以技不如人不废话,埋头苦读争口气。
今天400你不要,明年4w我不做。
应为效果是动态的。所以截图效果不明显,希望同学们自己运行一下。
好了,我们下课!{:soso__13766225770624999893_6:} {:soso_e103:}350块~~~果真便宜 又出现错误了
java.lang.RuntimeException: java.lang.RuntimeException: Framebuffer objects are not supported by this hardware (or driver) Read http://wiki.processing.org/w/OpenGL_Issues for help.
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:541)
at processing.opengl.PJOGL.requestDraw(PJOGL.java:688)
at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:1651)
at processing.core.PApplet.run(PApplet.java:2256)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: Framebuffer objects are not supported by this hardware (or driver) Read http://wiki.processing.org/w/OpenGL_Issues for help.
at processing.opengl.PJOGL$PGLListener.init(PJOGL.java:876)
at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:617)
at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:639)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1272)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1117)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:994)
at javax.media.opengl.awt.GLCanvas$11.run(GLCanvas.java:1300)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source) 修改了下可以运行了
//这节课,我们来讲述,关于PImage的用法。
//主要包括,创建图片,读取图片,显示图片。
//至于一些图像处理的方法将会慢慢讲到。
//
//
//
//
//
//
PImage myimage;//声明一个图形对象
int x;
void setup()
{
size(512, 512);
x=0;
//myimage=createImage(2048,512,ARGB); 也可以这么创建
myimage=createYourImage();//接受返回的对象
}
PImage createYourImage()//画画函数
{
PGraphics buffer = createGraphics(2048, 512);//声明了一个这么大的缓冲
buffer.beginDraw();//开始作画
for (int i = 0; i<2048; i++)//这个函数非常简单就是画2048条彩色的直线
{
buffer.stroke((int)random(0, 255),(int)random(0, 255) ,(int)random(0, 255) );
buffer.line(i, 0, i, 512);
println("i: "+i);
}
buffer.endDraw();//结束绘画
return buffer.get();
}
void draw()
{
if (x>-2048)
{
println("x: "+x);
image(myimage,x--, 0);//向左移动整个图像
}
}
页:
[1]