회색 음영 이미지에 흰색 반점이 포함 된 검은 이미지를 겹치기를 원합니다.이 검은 색 이미지를 투명하게 만들고 싶습니다. Java에서 here 코드를 사용했습니다.자바에서 이미지 겹침
그러나 출력에 빨간색 이미지가 표시됩니다. 왜?
코드가 여기에 언급되어
public class OverlayImage{
public static void main(String[] args) {
File path = new File("/home/dmdd/Desktop/images"); // base path of the images
// load source images
BufferedImage image=null;
BufferedImage overlay=null;
try {
image = ImageIO.read(new File(path, "image.jpg"));
overlay = ImageIO.read(new File(path, "overlay.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//overlay =(BufferedImage) makeImageTransparent(overlay,50);
OverlayImage over=new OverlayImage();
// create the new image, canvas size is the max. of both image sizes
int w = Math.max(image.getWidth(), overlay.getWidth());
int h = Math.max(image.getHeight(), overlay.getHeight());
//BufferedImage combined = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Image overlay1=over.TransformGrayToTransparency(overlay);
BufferedImage combined=over.ApplyTransparency(image, overlay1);
try {
ImageIO.write(over.toBufferedImage(combined, w, h), "JPG", new File(path, "combined.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private Image TransformGrayToTransparency(BufferedImage image)
{
ImageFilter filter = new RGBImageFilter()
{
public final int filterRGB(int x, int y, int rgb)
{
return (rgb << 8) & 0xFF000000;
}
};
ImageProducer ip = new FilteredImageSource(image.getSource(), filter);
return Toolkit.getDefaultToolkit().createImage(ip);
}
private BufferedImage ApplyTransparency(BufferedImage image, Image mask)
{
BufferedImage dest = new BufferedImage(
image.getWidth(), image.getHeight(),
BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = dest.createGraphics();
g2.drawImage(image, 0, 0, null);
AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.DST_IN, 1.0F);
g2.setComposite(ac);
g2.drawImage(mask, 0, 0, null);
g2.dispose();
return dest;
}
}
화이트 스팟 이미지는 다음과 같습니다
검은 이미지는 다음과 같습니다
오버레이 된 빨간색 이미지입니다 :
질문에 코드를 추가해야합니다 ... – Baz
... 막연한 이미지 설명이 특히 있습니다. 최종 결과는 정확히 무엇입니까? –
@YanickRochon 이미지를 첨부합니다. 나는 회색 음영 이미지에서 검은 이미지의 정치적 경계를 원합니다. – Achyut