2016年9月12日 星期一

Week02 本田速人的暴走二輪日誌

課程內容:

製作一個簡易小畫家
只能一筆到底
只要滑鼠在上頭游移都會作畫

line(mouseX,mouseY,pmouseX,pmouseY);


進階讓畫筆可以提起
不在一筆到底
才像小畫家

if(mousePressed) 

當滑鼠按下後才作畫


這樣太單調
開始加入背景與筆的色彩
分別是

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);
}
----------------------------------------------------------------------------------




沒有留言:

張貼留言