1. 畫線 (滑鼠移動到哪就畫線畫到哪)
line(mouseX, mouseY, pmouseX, pmouseY);
//pmouseX : 前一個時間點的位置
2. 畫線 (滑鼠按下去才畫,放開就不畫)
if(mousePressed) line(mouseX, mouseY, pmouseX, pmouseY);
//mousePressed : 滑鼠按下去
3. 改變筆觸顏色 (利用鍵盤按鍵改變)
void keyPressed(){ //鍵盤
if (key=='1')stroke(#FF0004); //按下'1'->紅色
if (key=='2')stroke(#00FF2C); //按下'2'->綠色
if (key=='3')stroke(#008EFF);} //按下'3'->藍色
4. 改變筆觸粗細 (利用滑鼠滾輪改變)
int now=1;
void mouseWheel(MouseEvent event) { //滾輪
float e = event.getCount();
now += e; //
if (now<1) now=1; //
strokeWeight(now); //筆觸根據滾輪改變大小
println (now); }
5. 存檔讀檔 (利用鍵盤s、r鍵)
void keyPressed(){
if (key=='1')stroke(#FF0004);
if (key=='2')stroke(#00FF2C);
if (key=='3')stroke(#008EFF);
if (key=='s')save("now.png"); //按's'存檔
if (key=='r'){ //按'r'讀檔
PImage img=loadImage("now.png"); //讀入名為now.png的檔案
if (img!=null) image(img, 0, 0);} //如果檔案不等於null(檔案存在), } 檔案放在(0,0)的位子
void keyPressed(){
if (key=='1')stroke(#FF0004);
if (key=='2')stroke(#00FF2C);
if (key=='3')stroke(#008EFF);
if (key=='s')save("now.png");
if (key=='r'){
PImage img=loadImage("now.png");
if (img!=null) image(img, 0, 0);
}
if (key=='c'){ //當按下'c'時
save("beforeColor.png"); //將畫好的圖先存檔
PImage img=loadImage("colorMap.PNG"); //貼上調色盤圖片
image(img, 0, 0); //放在(0,0)的位置
}
if (key=='d'){ //當按下'd'時
PImage img=loadImage("beforeColor.png"); //叫出貼上調色盤前畫的圖
if (img!=null) image(img, 0, 0);
}
}
7. 選取顏色 (利用pixels吸取顏色)
void draw(){
if (bColorSelect){ //如果正在選色
loadPixels(); //吸取pixels
stroke(pixels[mouseX+mouseY*width]); //將筆觸顏色改成pixels選的 } 顏色
else if(mousePressed) //如果沒有在選色
line(mouseX, mouseY, pmouseX, pmouseY); //畫線
}
boolean bColorSelect=false; //設定boolean函數(選色)
void keyPressed(){
if (key=='1')stroke(#FF0004);
if (key=='2')stroke(#00FF2C);
if (key=='3')stroke(#008EFF);
if (key=='s')save("now.png");
if (key=='r'){
PImage img=loadImage("now.png");
if (img!=null) image(img, 0, 0);
}
if (key=='c' && bColorSelect==false){ //若按下c且沒在選色
bColorSelect=true; //則貼上色盤並選色
save("beforeColor.png");
PImage img=loadImage("colorMap.PNG");
image(img, 0, 0);
}else if (key=='c' && bColorSelect==true) //若按下c且已選色
{ bColorSelect=false; //則貼上原圖並不執行選色
PImage img=loadImage("beforeColor.png");
if (img!=null) image(img, 0, 0);
}
}
8. 完整程式碼 :
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(#FF0004);
if (key=='2')stroke(#00FF2C);
if (key=='3')stroke(#008EFF);
if (key=='s')save("now.png");
if (key=='r'){
PImage img=loadImage("now.png");
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();
now += e;
if (now<1) now=1;
strokeWeight(now);
println (now);
}
沒有留言:
張貼留言