BufferedImage _image;
String name=".......";
Image loadedImage = Toolkit.getDefaultToolkit().getImage(name);
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(loadedImage, 0);
try { tracker.waitForID(0); }
catch (InterruptedException e) {}
_image = new BufferedImage(loadedImage.getWidth(null),
loadedImage.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = _image.createGraphics();然后在调用
WritableRaster raster = _image.getRaster();
int[] pixels = new int[3];
raster.getPixel(x,y,pixels);
其中xy为某点的相对坐标
然后pixels中就是这个点的rgb值
String name=".......";
Image loadedImage = Toolkit.getDefaultToolkit().getImage(name);
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(loadedImage, 0);
try { tracker.waitForID(0); }
catch (InterruptedException e) {}
_image = new BufferedImage(loadedImage.getWidth(null),
loadedImage.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = _image.createGraphics();然后在调用
WritableRaster raster = _image.getRaster();
int[] pixels = new int[3];
raster.getPixel(x,y,pixels);
其中xy为某点的相对坐标
然后pixels中就是这个点的rgb值
import java.awt.image.*;public class BWFilter extends RGBImageFilter {
public BWFilter() {
canFilterIndexColorModel = true;
}
public int filterRGB(int x, int y, int rgb) {
DirectColorModel cm =
(DirectColorModel)ColorModel.getRGBdefault(); int alpha = cm.getAlpha(rgb);
int red = cm.getRed (rgb);
int green = cm.getGreen(rgb);
int blue = cm.getBlue (rgb);
int mixed = (red + green + blue) / 3; red = blue = green = mixed;
alpha = alpha << 24;
red = red << 16;
green = green << 8; return alpha | red | green | blue;
}
}//file2
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.net.URL;public class BWFilterTest extends Applet {
private Image im, bw; public void init() {
loadImage();
filterImage();
}
public void paint(Graphics g) {
int imw = im.getWidth(this); g.drawImage(im,0,0,this);
g.drawImage(bw,imw,0,this);
}
private void loadImage() {
try {
URL url = getClass().getResource("tiger.gif");
im = createImage((ImageProducer)url.getContent());
}
catch(Exception e) {
e.printStackTrace();
} MediaTracker mt = new MediaTracker(this);
mt.addImage(im, 0);
try {
mt.waitForID(0);
}
catch(Exception e) {
e.printStackTrace();
}
}
private void filterImage() {
bw = createImage(new FilteredImageSource(im.getSource(), new BWFilter()));
// bw = javax.swing.GrayFilter.createDisabledImage(im);
}
}//test.html<title>BWFilterTest</title>
<applet code="BWFilterTest.class" width=680 height=375></applet>
你能告诉我你是怎么知道这些东西的呢
受人以鱼,不如授之以渔。
你能告诉我学习的途径吗?还有,如果我想把每个像素点的rgb值都输出到屏幕上应该怎么做。
你给我的程序是对整幅图像进行处理,我想得到图中任意一点的rgb值,
能发信给我吗?[email protected]
再次感谢,可以的话,我会再开贴给分的。