2016年9月12日 星期一

Week02 河蟹牌 - 紅鯉魚與綠鯉魚與驢

自製洨畫家


void setup(){
  size(600,600);
}
void draw(){
  line(mouseX, mouseY, pmouseX, pmouseY);  ///跟著滑鼠移動(畫)
}


如果要滑鼠點才畫的話,再加一小段程式

void setup(){
  size(600,600);
}
void draw(){
  if(mousePressed) line(mouseX, mouseY, pmouseX, pmouseY);
}

成果如下 : 



背景設白色 -- background(255);
再來是讓筆觸有顏色

void setup(){
  size(600,600);
  background(255); ///背景白色(不要放在void draw(){下面,因為這樣代表會一邊畫一邊變白色)
}
void draw(){
  if(mousePressed) line(mouseX, mouseY, pmouseX, pmouseY);
}
void keyPressed(){
  if(key=='1') stroke(#F70000);  ///按1選取紅色
  if(key=='2') stroke(#0037F7);  ///按2選取藍色
  if(key=='3') stroke(#02A531); ///按3選取綠色
}


如下圖




接下來加入滾輪控制字型大小 ~ ~

程式碼在字典中 (mouseX 右鍵 Find in Reference)


程式碼如下 : 

void setup(){
  size(600,600);
  background(255);
}
void draw(){
  if(mousePressed) line(mouseX, mouseY, pmouseX, pmouseY);
}
void keyPressed(){
  if(key=='1') stroke(#F70000);
  if(key=='2') stroke(#0037F7);
  if(key=='3') stroke(#02A531);
}
int now=1;  ///定義now
void mouseWheel(MouseEvent event) {  
  float e = event.getCount();
  //println(e);
  now += e;
  if(now<1) now=1;  ///當滾輪小於1,等於1
  strokeWeight(now);
  println(now);
}


左下角的數字會跟著滾輪移動而改變



加入"存檔"功能 ( OAo !! )

先將檔案存檔


在字典中找到save()


畫個 帥貓 出來 (喔真帥)

按 s 之後發現,挖存檔了捏 ~ ~ 太神惹ㄅ

程式碼 : 
if(key=='s') save("kk.png"); ///代表按 s 存檔 (檔名kk.png)
if(key=='r'){                         ///代表按 r  讀檔 ,可以存空檔案讀進圖片
    PImage img=loadImage("kk.png");   /// PImage是P語言 代表讀進圖片
    if(img!=null) image(img, 0,0);   ///當沒有這個圖片檔而讀檔時不會當機
  }



加個調色盤
先在小畫家截一個調色盤圖片,檔名取 "colorMap.png",放進剛剛的資料夾裡面。

程式碼 : 

void setup(){
  size(600,600);
  background(255);
}
void draw(){
  if(mousePressed) line(mouseX, mouseY, pmouseX, pmouseY);
}
boolean bColorSelect=false;
void keyPressed(){
  if(key=='1') stroke(#F70000);
  if(key=='2') stroke(#0037F7);
  if(key=='3') stroke(#02A531);
  if(key=='s') save("kk.png");
  if(key=='r'){
    PImage img=loadImage("kk.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){    ///再按一次,圖片消失
  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();
  //println(e);
  now += e;
  if(now<1) now=1;
  strokeWeight(now);
  println(now);
}


按c之後 ,調色盤出現


再按一次,調色盤消失




...........真棒,我好餓


再來讓調色盤真的能選線條顏色 來ㄅ

加入程式碼( void draw(){ 下面改寫 )   : 

void draw(){
    if(bColorSelect){
    loadPixels();
    stroke(pixels[mouseX+mouseY*width]);
  }
  else if(mousePressed) line(mouseX, mouseY, pmouseX, pmouseY);
}

按c之後,點一下調色盤上你要的顏色唄  ..   好餓阿

選完後再按c關掉調色盤,畫一下 , 挖這不是選的綠色ㄇ ,太美了吧  ..餓



沒有留言:

張貼留言