2011年10月31日 / 2025年3月21日 更新
PImage myPhoto;
void setup() {
size(430, 640);
myPhoto = loadImage("http://dl.dropbox.com/u/446018/processing/mannalisa.jpg"); //画像を読み込み
noCursor(); //カーソルを非表示
}
void draw() {
image(myPhoto, 0, 0); //画像を表示
loadPixels(); //画面全体の色情報を配列pixelsとして読み込む
//x,y座標に現在のマウスの位置を代入
int x = mouseX;
int y = mouseY;
//マウス位置に縦線・横線を表示
stroke(255, 51);
line(x, 0, x, height);
line(0, y, width, y);
//マウス位置の色情報を取得し、塗り色に設定
fill(pixels[y*width + x]);
//画面左上にマウス位置の色を表示
stroke(0);
rect(20, 20, 60, 60);
}
PImage myPhoto;
void setup() {
size(430, 640);
myPhoto = loadImage("http://dl.dropbox.com/u/446018/processing/mannalisa.jpg"); //画像を読み込み
noStroke();
smooth();
background(255);
}
void draw() {
myPhoto.loadPixels(); //myPhotoに読み込まれた画像の色情報を配列pixelsとして読み込む
//x,y座標に現在のマウスの位置を代入(x,yの値が画像サイズを超えないようにconstrain関数を利用)
int x = constrain(mouseX, 0, myPhoto.width-1);
int y = constrain(mouseY, 0, myPhoto.height-1);
//その点の色情報を取得し、塗り色に設定
fill(myPhoto.pixels[y*width + x]);
//その点の位置を中心として直径10から20pxの円を描く
float d = random(10, 20);
ellipse(x, y, d, d);
}
PImage myPhoto;
int myPhotoWidth, myPhotoHeight;
void setup() {
size(430, 640);
myPhoto = loadImage("http://dl.dropbox.com/u/446018/processing/mannalisa.jpg"); //画像を読み込み
//画像のサイズを取得し変数に代入
myPhotoWidth = myPhoto.width;
myPhotoHeight = myPhoto.height;
noStroke();
smooth();
background(255);
}
void draw() {
myPhoto.loadPixels(); //myPhotoに読み込まれた画像の色情報を配列pixelsとして読み込む
//x,y座標をランダムに指定
int x = int(random(myPhotoWidth));
int y = int(random(myPhotoHeight));
//その点の色情報を取得し、塗り色に設定
fill(myPhoto.pixels[y*width + x]);
//その点の位置を中心として直径10から20pxの円を描く
float d = random(10, 20);
ellipse(x, y, d, d);
}
これらを利用すると、さらに詳細な色設定が可能になる。
PImage myPhoto;
int myPhotoWidth, myPhotoHeight;
void setup() {
size(430, 640);
colorMode(HSB);
myPhoto = loadImage("http://dl.dropbox.com/u/446018/processing/mannalisa.jpg"); //画像を読み込み
//画像のサイズを取得し変数に代入
myPhotoWidth = myPhoto.width;
myPhotoHeight = myPhoto.height;
noStroke();
smooth();
background(255);
}
void draw() {
myPhoto.loadPixels(); //myPhotoに読み込まれた画像の色情報を配列pixelsとして読み込む
//x,y座標をランダムに指定
int x = int(random(myPhotoWidth));
int y = int(random(myPhotoHeight));
//その点の色情報を取得
color myPhotoColor = myPhoto.pixels[y*width+x];
//塗り色に設定(色相と明度は変更なし、輝度は0に設定 ...モノクロになる)
fill(hue(myPhotoColor), 0, brightness(myPhotoColor));
//その点の位置を中心として直径10から20pxの円を描く
float d = random(10, 20);
ellipse(x, y, d, d);
}