ラズパイ3倍美味しいブログ

ラズパイ3を美味しく食べるはずがinto the VR!!!

Processingで作ったA4サイズのハートの包装紙作ってラッピングする

 もうすぐ本当にバレンタインなんだけど、まだ包装紙とか用意してないぜって人に捧ぐ(つまり私だよ)

 前回の記事に続いて、ファンシーなハートを思いのほかファンシーに並べることができたので、気を良くした私はA4サイズの画像を作ることを思いついた。
A4用紙のピクセル値ってなんだろう。下記を参考にします。

www.benricho.org


A4サイズ、300dpiの場合→横3508ピクセル☓縦2480ピクセルで作ることにする。
サイズを大きく変えると、ハートの大きさも、散らす数も色々適当に変える必要がある。
random_heart_funcy_a4.pde
-------------------------------------
void setup(){
size(3508, 2480);//A4サイズ、300dpi
background(#E0B5C9);
noStroke();
randomSeed(1);
for(int i=0;i<1500;i++){
float hx = random(width);
float hy = random(0,height);
float h = random(40,200);
println(hx);
fill(random(210,255),random(0,100),random(0,100),random(50,100));
heart(hx, hy, h,h);
}
}

void draw(){}

// ハート形の描画
void heart(float centerX, float centerY, float width, float height){
final float WIDTH = width / 2 * 0.85;
final float HEIGHT = height / 2;
final float OFFSET = centerY - (HEIGHT / 6 * 5);
beginShape();
for(int i = 0; i < 30; i++){
float tx = abs(sin(radians(i * 12))) * (1 + cos(radians(i * 12))) * sin(radians(i * 12)) * WIDTH + centerX;
float ty = (0.8 + cos(radians(i * 12))) * cos(radians(i * 12)) * HEIGHT + OFFSET;
vertex(tx, ty);
}
endShape(CLOSE);
}

void keyPressed(){
if(keyCode==ENTER){
save("random_heart_funcy_a4.png");
}
}
-------------------------------------
よーしできた。

f:id:umesyurock0603:20170212210123p:plain

2.2MB。ハートだけなのに重いな。。。こんなものなのか。
これをA4用紙に印刷してみる。

Processingで作ったハートの包装紙だよ。↓印刷した

 f:id:umesyurock0603:20170212212103j:image

これを使えば、どんなものでもラッピング自由自在。愛に溢れております。

 f:id:umesyurock0603:20170212212114j:image

f:id:umesyurock0603:20170212212119j:image

(うーん。ラッピングの腕前はまだまだなので、A4サイズの用紙でセンス良くラッピングする方法を探さねば。。。)