import jlab.graphics.DWindow;
public class ChromaKey {
public static void main(String[] args) {
DWindow fg = new DWindow();
fg.loadImage("bird.gif");
int w = fg.getWidth();
int h = fg.getHeight();
DWindow bg = new DWindow();
bg.loadImage("sky.jpg",w, h);
DWindow out = new DWindow(w, h);
fg.setLocation(10, 10);
bg.setLocation(10 + fg.getWidth(), 10);
out.setLocation(10 + 2*fg.getWidth(), 10);
out.setPixmap(chromaKey(fg.getPixmap(), bg.getPixmap(), DWindow.GREEN));
}
//-----------------------------------------------------------------
public static int[][] chromaKey(int[][] fg, int[][] bg, int c) {
int w = fg.length;
int h = fg[0].length;
int[][] b = new int[w][h];
for (int i = 0; i < fg.length; i++) {
for (int j=0; j < fg[i].length; j++) {
if (fg[i][j] == c) b[i][j] = bg[i][j];
else b[i][j]=fg[i][j];
}
}
return b;
}
//-----------------------------------------------------------------
}
import jlab.graphics.DWindow;
public class Blend {
public static void main(String[] args) {
int w = 300, h = 300;
DWindow pic1 = new DWindow(w, h);
DWindow pic2 = new DWindow(w, h);
DWindow out = new DWindow(w, h);
pic1.loadImage("cat.jpg", w, h);
pic2.loadImage("baby.jpg", w, h);
pic1.setLocation(10, 10);
pic2.setLocation(10 + w, 10);
out.setLocation(10 + 2 * w, 10);
while (true) {
for (double a = 0; a <= 1; a += 0.1) {
int[][] b = blend(pic1.getPixmap(), pic2.getPixmap(), a);
out.setPixmap(b);
}
for (double a = 1; a >= 0; a -= 0.1) {
int[][] b = blend(pic1.getPixmap(), pic2.getPixmap(), a);
out.setPixmap(b);
}
}
}
//-----------------------------------------------------------------
public static int[][] blend(int[][] b1, int[][] b2, double a) {
int w = b1.length;
int h = b1[0].length;
int[][] b3 = new int[w][h];
for (int i = 0; i < b1.length; i++) {
for (int j=0; j < b1[i].length; j++) {
double r = 0, g = 0, b = 0;
r= (a * DWindow.getR(b1[i][j])) + ((1.0 - a) * DWindow.getR(b2[i][j]));
g=(a * DWindow.getG(b1[i][j])) + ((1.0 - a) * DWindow.getG(b2[i][j]));
b=(a * DWindow.getB(b1[i][j])) + ((1.0 - a) * DWindow.getB(b2[i][j]));
b3[i][j] = DWindow.mixRGB((int)r,(int)g,(int)b);
}
}
return b3;
}
//-----------------------------------------------------------------
}
|
SM=1, CM=31, ST=41, KY=470, TR=60:00
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
|