課程內容:
製作一個簡易小畫家
只能一筆到底
只要滑鼠在上頭游移都會作畫
line(mouseX,mouseY,pmouseX,pmouseY);
進階讓畫筆可以提起
不在一筆到底
才像小畫家
if(mousePressed)
當滑鼠按下後才作畫
當滑鼠按下後才作畫
這樣太單調
開始加入背景與筆的色彩
分別是
background(255); <<白色背景
background(255); <<白色背景
與三種顏色的切換
用鍵盤123切換
void keyPressed(){
if(key=='1')stroke(#FF0015);
if(key=='2')stroke(#FFD900);
if(key=='3')stroke(#00FF1B);
}
為了使用更方便
加上可以調整筆刷粗細
分別是鍵盤調整
if(key=='4')strokeWeight(30);
if(key=='5')strokeWeight(40);
與滾輪調整
int now=1;
void mouseWheel(MouseEvent event){
float e=event.getCount(); <<看轉的程度調整粗細
//pintdln(e);
now+=e;
if(now<1) now=1; <<至少還有原始粗度
strokeWeight(now);
println(now);
畫好了當然要存檔
if(key=='s')save("now.jpg"); <<存一個jpg檔
存檔當然要能重新開起繼續畫
if(key=='r'){
PImage img=loadImage("now.jpg");
if(img!=null) image(img,0,0); <<假設沒此檔 不至於找不到當掉
叫出調色盤(騙人圖片)
if(key=='c' && bColorSelect==false){
bColorSelect=true;
save("beforeColor.png");
PImage img=loadImage("colorMap.png");
image(img,0,0);
}else if(key=='c' && bColorSelect==true){
bColorSelect=false;
PImage img=loadImage("beforeColor.png");
if(img!=null) image(img,0,0);
}
記得要加上
boolean bColorSelect=false;
讓調色盤可以真的選色
void draw(){
if(bColorSelect){
loadPixels();
stroke(pixels[mouseX+mouseY*width]);
}
else if(mousePressed)line(mouseX,mouseY,pmouseX,pmouseY);
}
-----------------------------------總程式--------------------------------------
void setup(){
size(600,600);
background(255);
}
void draw(){
if(bColorSelect){
loadPixels();
stroke(pixels[mouseX+mouseY*width]);
}
else if(mousePressed)line(mouseX,mouseY,pmouseX,pmouseY);
}
boolean bColorSelect=false;
void keyPressed(){
if(key=='1')stroke(#FF0015);
if(key=='2')stroke(#FFD900);
if(key=='3')stroke(#00FF1B);
if(key=='4')strokeWeight(30);
if(key=='5')strokeWeight(40);
if(key=='s')save("now.jpg");
if(key=='r'){
PImage img=loadImage("now.jpg");
if(img!=null) image(img,0,0);
}
if(key=='c' && bColorSelect==false){
bColorSelect=true;
save("beforeColor.png");
PImage img=loadImage("colorMap.png");
image(img,0,0);
}else if(key=='c' && bColorSelect==true){
bColorSelect=false;
PImage img=loadImage("beforeColor.png");
if(img!=null) image(img,0,0);
}
}
int now=1;
void mouseWheel(MouseEvent event){
float e=event.getCount();
//pintdln(e);
now+=e;
if(now<1) now=1;
strokeWeight(now);
println(now);
}
----------------------------------------------------------------------------------
沒有留言:
張貼留言