Part1.作簡易小畫家
Part2.
(3). 加入 顏色色塊選擇
void setup(){
size(800,600);
background(#FAC30D);
stroke(#FF081C); //預設 畫筆顏色為 紅色
}
void draw(){
fill(0,255,0); rect(0,0,100,100); //產生藍色區塊
fill(0,0,255); rect(0,100,100,100); //產生綠色區塊
fill(0,255,255); 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(0,255,255);}
}
Part3.加入粗細範圍
void setup(){
size(800,600);
background(#FAC30D);
stroke(#FF081C);
}
float myTsuTsuDer = 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(0,255,255); rect(0,200,100,100);
stroke(mystroke); strokeWeight(myTsuTsuDer);
}
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(0,255,255);}
if(mouseX>700) myTsuTsuDer = mouseY/80 ; //粗細層次
}
Part4. 製作 "刮畫" 效果
part1.一點一點做畫
PImage imgBG; // 存彩圖
PImage imgBlack; //黑布幕
void setup(){
size(800,600);
imgBG = loadImage("colorBG.jpg");
imgBlack = createImage(800,600,ARGB); //使用createimage()函数创建一个新的空白图像
//创建一个空白图像,800×600像素,ARGB颜色模式 ------> A : Alpha
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();
}
part2.柔順線條板做畫
PImage imgBG;
PGraphics pgBlack;
void setup(){
size(800,600);
imgBG = loadImage("colorBG.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);
image(imgBG,0,0,width,height);
}
void mouseDragged(){
pgBlack.beginDraw();
pgBlack.strokeWeight(5);
pgBlack.stroke(255);
pgBlack.line(mouseX,mouseY,pmouseX,pmouseY);
pgBlack.endDraw();
}
PGraphics pgBlack;
void setup(){
size(800,600);
imgBG = loadImage("colorBG.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);
image(imgBG,0,0,width,height);
}
void mouseDragged(){
pgBlack.beginDraw();
pgBlack.strokeWeight(5);
pgBlack.stroke(255);
pgBlack.line(mouseX,mouseY,pmouseX,pmouseY);
pgBlack.endDraw();
}









沒有留言:
張貼留言