不斷線的小畫家
按下滑鼠才畫出來的小畫家
左上角加入選色功能
void setup(){
size(800,600); //窗口大小
background(255);//背景顏色
stroke(#FF081c); //筆畫顏色
}
void draw(){
fill(0,255,0); rect(0,0,100,100); //左上角添加選色框
fill(0,0,255); rect(0,100,100,100);
fill(255,255,0); rect(0,200,100,100);
}
void mouseDragged(){
line(mouseX,mouseY, pmouseX,pmouseY); //滑鼠拖曳時畫線
}
void mousePressed(){
if(mouseX<100 &&mouseY<100){stroke(0,255,0);} //點選特定座標範圍換顏色
else if(mouseX<100 &&mouseY<200){stroke(0,0,255);}
else if(mouseX<100 &&mouseY<300){stroke(255,255,0);}
}
void setup(){
size(800,600);
background(255);
stroke(#FF081c);
}
float mycucude=1; 宣告粗細
color myStroke=color(0);
void draw(){
stroke(0);strokeWeight(1);
fill(0,255,0); rect(0,0,100,100);
fill(0,0,255); rect(0,100,100,100);
fill(255,255,0); rect(0,200,100,100);
stroke(myStroke);strokeWeight(mycucude);
}
void mouseDragged(){
line(mouseX,mouseY, pmouseX,pmouseY);
}
void mousePressed(){
if(mouseX<100 &&mouseY<100){myStroke=color(0,255,0);}
else if(mouseX<100 &&mouseY<200){myStroke=color(0,0,255);}
else if(mouseX<100 &&mouseY<300){myStroke=color(255,255,0);}
if(mouseX>700) mycucude=mouseY/30; //在x座標大於700時,根據Y座標大小改變粗細程度
}
點狀刮畫 (圖片自定義)
PImage imgBG;
PImage imgBlack;
void setup(){
size(800,600);
imgBG=loadImage("hei.jpg");
imgBlack=createImage(800,600,ARGB);
imgBlack.loadPixels();
for(int i=0;i<imgBlack.pixels.length;i++){
imgBlack.pixels[i]=color(0,0,0,255);
}
imgBlack.updatePixels();
}
void draw(){
image(imgBG,0,0,width,height);
image(imgBlack,0,0,width,height);
}
void mouseDragged(){
imgBlack.loadPixels();
imgBlack.pixels[mouseX+mouseY*width]=color(0,0,0,0);
imgBlack.updatePixels();
}
生成的背景的刮畫(無法自定義)
size(800,600);
colorMode(HSB,800);
background(0);
strokeWeight(2);
}
void draw(){
if(mousePressed){
stroke(mouseX,mouseY,800);
line(mouseX,mouseY,pmouseX,pmouseY);
}
}
新方法
PImage imgBG;
PGraphics pgBlack;
void setup(){
size(800,600);
imgBG=loadImage("hei.jpg");
imgBG.resize(800,600);
pgBlack = createGraphics(800,600);
pgBlack.beginDraw();
pgBlack.background(0);
pgBlack.strokeWeight(50);
pgBlack.stroke(0,0,0,28);
pgBlack.endDraw();
}
void draw(){
background(0);
imgBG.mask(pgBlack);
if(keyPressed)image(pgBlack,0,0);
else image(imgBG,0,0,width,height);
}
void mouseDragged(){
pgBlack.beginDraw();
pgBlack.strokeWeight(45); pgBlack.stroke(255);
pgBlack.line(mouseX,mouseY,pmouseX,pmouseY);
pgBlack.endDraw();
}
沒有留言:
張貼留言