2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java图片黑白_java – 将图像转换为黑白图像

java图片黑白_java – 将图像转换为黑白图像

时间:2020-09-05 02:28:50

相关推荐

java图片黑白_java – 将图像转换为黑白图像

我想这取决于你所说的“mono-chrome”/“black& white”……

public class TestBlackAndWhite {

public static void main(String[] args) {

new TestBlackAndWhite();

}

public TestBlackAndWhite() {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

} catch (Exception ex) {

}

JFrame frame = new JFrame("Test");

frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);

frame.add(new TestPane());

frame.pack();

frame.setLocationRelativeTo(null);

frame.setVisible(true);

}

});

}

public class TestPane extends JPanel {

private BufferedImage master;

private BufferedImage grayScale;

private BufferedImage blackWhite;

public TestPane() {

try {

master = ImageIO.read(new File("C:/Users/shane/DropBox/pictures/439px-Join!_It's_your_duty!.jpg"));

grayScale = ImageIO.read(new File("C:/Users/shane/DropBox/pictures/439px-Join!_It's_your_duty!.jpg"));

ColorConvertOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY),null);

op.filter(grayScale,grayScale);

blackWhite = new BufferedImage(master.getWidth(),master.getHeight(),BufferedImage.TYPE_BYTE_BINARY);

Graphics2D g2d = blackWhite.createGraphics();

g2d.drawImage(master,this);

g2d.dispose();

} catch (IOException ex) {

ex.printStackTrace();

}

}

@Override

public Dimension getPreferredSize() {

Dimension size = super.getPreferredSize();

if (master != null) {

size = new Dimension(master.getWidth() * 3,master.getHeight());

}

return size;

}

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

if (master != null) {

int x = (getWidth() - (master.getWidth() * 3)) / 2;

int y = (getHeight() - master.getHeight()) / 2;

g.drawImage(master,x,y,this);

x += master.getWidth();

g.drawImage(grayScale,this);

x += master.getWidth();

g.drawImage(blackWhite,this);

}

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。