求助:java怎么能把一张图片的背景镂空呢? 我有一张图片,背景是白色的,我现在想要他成透明的。不是假透明,是去除掉背景。大神们有招不? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /** * 返回無背景色的印章図像所在路径 * @param image 印章図像文件Buffered * @return 印章図像文件Buffered */ public BufferedImage getNoBgColorImage(BufferedImage image) { ImageIcon imageIcon = new ImageIcon(image); BufferedImage bufferedImage = new BufferedImage(imageIcon .getIconWidth(), imageIcon.getIconHeight(), BufferedImage.TYPE_4BYTE_ABGR); Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics(); g2D.drawImage(imageIcon.getImage(), 0, 0, imageIcon.getImageObserver()); int alpha = 0; for (int j1 = bufferedImage.getMinY(); j1 < bufferedImage.getHeight(); j1++) { for (int j2 = bufferedImage.getMinX(); j2 < bufferedImage .getWidth(); j2++) { int rgb = bufferedImage.getRGB(j2, j1); int R = (rgb & 0xff0000) >> 16; int G = (rgb & 0xff00) >> 8; int B = (rgb & 0xff); if (((255 - R) < 30) && ((255 - G) < 30) && ((255 - B) < 30)) { rgb = ((alpha + 1) << 24) | (rgb & 0x00ffffff); } bufferedImage.setRGB(j2, j1, rgb); } } g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver()); // ImageIO.write(bufferedImage, "png", new File("d:/test/png.png")); return bufferedImage; } 将白色背景变成透明. 注意:jpg文件不能背景透明, png的可以透明 搜狗面试题 jsp的转换form action java代码 想做个麻雀虽小但五脏俱全的小项目 一个JVM启动的程序如何与另一个JVM启动的程序交互? 请教一个关于for循环的问题 新手寻求帮助,类封装的问题,如果类具有指向可变对象的域... 求助一个学生管理系统代码^_^ 除了JCREATOR PRO外还有什么好的JAVA编辑器 在页面里查寻多个不同并且没有关联的表时,速度很慢,如何解决,多谢 为什么我装oracle后,不能登陆进去,说是没有监听!我该怎么办? jsp里如何实现留言板得回复功能? 关于java 串口
* 返回無背景色的印章図像所在路径
* @param image 印章図像文件Buffered
* @return 印章図像文件Buffered
*/
public BufferedImage getNoBgColorImage(BufferedImage image) {
ImageIcon imageIcon = new ImageIcon(image);
BufferedImage bufferedImage = new BufferedImage(imageIcon
.getIconWidth(), imageIcon.getIconHeight(),
BufferedImage.TYPE_4BYTE_ABGR);
Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics();
g2D.drawImage(imageIcon.getImage(), 0, 0, imageIcon.getImageObserver());
int alpha = 0;
for (int j1 = bufferedImage.getMinY(); j1 < bufferedImage.getHeight(); j1++) {
for (int j2 = bufferedImage.getMinX(); j2 < bufferedImage
.getWidth(); j2++) {
int rgb = bufferedImage.getRGB(j2, j1); int R = (rgb & 0xff0000) >> 16;
int G = (rgb & 0xff00) >> 8;
int B = (rgb & 0xff);
if (((255 - R) < 30) && ((255 - G) < 30) && ((255 - B) < 30)) {
rgb = ((alpha + 1) << 24) | (rgb & 0x00ffffff);
} bufferedImage.setRGB(j2, j1, rgb);
}
} g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver());
// ImageIO.write(bufferedImage, "png", new File("d:/test/png.png"));
return bufferedImage;
}
将白色背景变成透明. 注意:jpg文件不能背景透明, png的可以透明