我想这取决于你所说的“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);

}

}

}

}

java图片黑白_java – 将图像转换为黑白图像相关推荐

  1. ITK:将真实和虚构图像转换为复杂图像

    ITK:将真实和虚构图像转换为复杂图像 内容提要 输出结果 C++实现代码 内容提要 将真实图像和虚像转换为复杂图像. 输出结果 Image (0x7ff58250cf20) RTTI typeinf ...

  2. OpenCV系列 | BGR图像转换为RGB图像

    目录 方法一 方法二 使用OpenCV加载图像时,默认使用BGR的格式,而使用matplotlib显示图像时又采用RGB的格式,因此显示图像时,会显得非常奇怪. 如以一张船的照片为例,原图如下: 使用 ...

  3. 鱼眼图像转换为全景图像_使用A框架创建3D全景图像

    鱼眼图像转换为全景图像 In the five years I've been at Mozilla I've seen some awesome projects.  Some of them ve ...

  4. java 图片 黑白_java – 将图像转换为黑白(不是灰色标尺)

    你好我将图像从彩色转换为纯黑色和白色,结果是一个黑暗的图像.我没理由.以下是我的代码,它受到SO上其他代码的启发. 任何指导都会有所帮助. BufferedImage coloredImage = I ...

  5. css如何把图片设置为黑白_使用CSS将图像转换为黑白图像

    css如何把图片设置为黑白 Desaturating a color image couldn't be simpler with CSS. The filter is typically appli ...

  6. java 图片旋转_Java实现图片旋转、指定图像大小和水平翻转|chu

    本文实例为大家分享了Java实现图片旋转.指定图像大小.水平翻转,供大家参考,具体内容如下 package com.zeph.j2se.image; import java.awt.Graphics2 ...

  7. java 图片水印_JAVA实现图片水印

    一.JAVA图片水印实现原理 1.1.JAVA图片水印实现思路 1.创建缓存图片对象. 2.创建Java绘图工具对象. 3.使用绘图工具对象将原图绘制到缓存图片对象. 4.使用绘图工具将水印(文字/图 ...

  8. java 图片 缩略图_java 图片缩略图的两种方法

    最近网上看到两种不同的java图片缩略图的绘制方案 第一种,使用Graphics().drawImage按照一定的比例重新绘制图像. package com.image.suoluetu; impor ...

  9. java图片拷贝_java图片拷贝

    请选择上传的图片或文件: 可以看到,我们将...之后,我们就来编写这个 servlet--UpLoad.java 复制代码 代码如下: package load; import java.io.Fil ...

  10. java 图片旋转_Java实现图片内容无损任意角度旋转

    主要问题是如何在图片做旋转后计算出新图片的长宽. 在java 2d和基本math库的帮助下,其实利用简单的计算就可以知道. 以下算法只是计算出旋转小于90度时的公式.当旋转大于90时,可以先把问题域换 ...

最新文章

  1. 在jsp中点击按钮,在bean中把已经查出的数据,生成csv文件,然后在ie中自动打开
  2. 电脑字体在哪个文件夹_电脑键盘使用方法
  3. 数据结构--二叉树(1)
  4. Python基础(list和tuple)可变集合和‘不可变’集合
  5. mysql 一对多映射_mybatis关系映射之一对多和多对一
  6. 力扣- -231. 2的幂
  7. Openssl的证书格式转换
  8. 天池-新闻推荐-多路召回
  9. es6 Decorator类的修饰器
  10. makefile文件管理
  11. php !$rs-gt;bof and !$rs-gt;eof,关于rs.bof rs.eof的一些解释,请大家帮我完善一下,谢谢...
  12. HDU 2457 DNA repair(AC自动机 + DP)题解
  13. MySQL出现Waiting for table metadata lock的场景浅析
  14. linux中红帽系统下载地址,Redhat8.3系统下载
  15. 解决本地文件上传时fakepath的问题
  16. ora-01033 解决方法
  17. Python3 sorted自定义排序
  18. rain、rainy、raining的区别
  19. 【HDU4622】Reincarnation(SAM)
  20. html生成邮件签名之路(一)

热门文章

  1. GCC官方文档13 SSA
  2. 实现从一个按钮跳转到另一个页面
  3. PDMReader的资料整理和个人说明
  4. 算法练习——(10)小明的作业详解与分析(栈,数组,遍历,逻辑练习)
  5. mongodb Cursor
  6. Elasticsearch关闭index的自动日期检测
  7. 竞品分析—微博PK微信
  8. matlab筛选excel数据统计,MATLAB读取Excel筛选符合条件的数据进行求均值等处理 程序......
  9. BZOJ 2101 [Usaco2010 Dec]Treasure Chest 藏宝箱:区间dp 博弈【两种表示方法】【压维】...
  10. 集成 rootbeer 和 小米mix2s Root 流程