使用ImageIO和BufferedImage更改图片背景色

做一个长发飘飘的程序员 做一个长发飘飘的程序员 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
public class Image {

    public static void main(String[] args){
        try {
            //BufferedImage是Image的一个子类,方便我们操作图片,比如里面有很多有用的方法;如:获取图片长度、宽度
            //1.从本地读取图片
            BufferedImage image = ImageIO.read(new File("D:/test/a.jpg"));
            //或从网络上读取图片
            //BufferedImage image =ImageIO.read(new File("url"));

            //2.替换颜色
            changeImage(image);

            //3.生成新的图片
            //将图片写入另一文件,调用ImageIO的write方法:ImageIO.write(source,formatName,new File(Path));
            //第一个参数是原图片,第二个参数是设置输出的图片格式,第三个参数是输出的路径
            ImageIO.write(image, "jpg", new File("D:/test/a-change.jpg"));
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    /**
     * 替换颜色
     */
    private static void changeImage(BufferedImage image) {
        //获取图片的宽度
        int width = image.getWidth();
        //获取图片的长度
        int height = image.getHeight();

        //Graphics是java提供的一个用于绘图和显示表格格式化文字的一个工具,就是一个画笔
        //Graphics中的setColor方法将文字、边框或要填充的区域为指定的颜色
        Graphics graphics = image.getGraphics();

        //设置颜色:setColor(new Color(int r, int g, int b));
        //RGB颜色设置方法,RGB是红、绿、蓝三个颜色,每个颜色强度是0~255,由红、绿、蓝按照不同比例混合就能产生一种颜色,
        graphics.setColor(getRandomColor());

        //填充图片:fillRect(int x,int y, int width,int height);
        //其中x代表距矩形左边缘的位置,y是代表距上边缘的位置,width代表图片的宽度,height代表高度
        graphics.fillRect(0, 0, width, height);
        //释放资源
        graphics.dispose();
    }

    /**
     * 获取随机颜色
     */
    private static Color getRandomColor() {
        Random random = new Random();
        int r = random.nextInt(256);
        int g = random.nextInt(256);
        int b = random.nextInt(256);
        return new Color(r, g, b);
    }
}
...全文

相关推荐

java实现验证码小程序

主要为大家详细介绍了java实现验证码小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

weixin_38526979

Drawing-App-Demo:这是使用简单画笔在画布上绘图的演示应用程序。 一次也可以擦除绘图或改变画笔的颜色来绘制。 绘图可以作为 .jpg 文件保存在保管箱中

绘图应用程序演示 这是使用简单画笔在画布上绘图的演示应用程序。 一次也可以擦除绘图或改变画笔的颜色来绘制。 绘图可以作为 .jpg 文件保存在保管箱中

靚兔

二维码制作_java_Demo

二维码制作的java代码,制作个性化二维码。

ouousen

BufferedImage使用—-生成一张验证码图片

BufferedImage—-生成一张验证码图片 最近看了一下BufferedImage类的使用,感觉挺好玩的,BuferedImage类是Image这个抽象类的实现类,作为一个带缓冲区(Buffered,看这个单词好像就是缓冲的意思吧)图像类,主要是在内存中生成一个供图片操作的缓冲区,利用这个缓冲区我们可以很好的对图片进行描绘,缩放等操作 话不多说开始实现 在绘画验证码图片之前我们需要一个String类型的随机字符串来作为验证码图片的文字信息,这里用到了Random类来实现字符串的随机生成 /** * 随机生成一个由大小写字母组成的长为length的字符串 * * @param

weixin_38508821

Java gif图片转换为jpg格式

主要介绍了Java gif图片转换为jpg格式的实例代码,文中给大家提到了用java将png图片转换成jpg格式的图片,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

weixin_38630853
评论 1
收藏 已收藏
分享
返回顶部