Java上色,在java中着色图片

I would like, for a java project, to change the color of a hair modelisation (to change hair color) with shadows and reflects...

In fact, I wondered if there's a class which can change the color of a picture with a RGB code. If this can help you, here's the picture I need to colorize :

DRVpH.png

解决方案

I assume that the question targeted NOT at blindly replacing certain pixels with a certain (fixed) color, but at really "dyeing" the image. Once I wrote a sample class showing how this could be done:

import java.awt.*;

import java.awt.image.*;

import java.io.*;

import javax.swing.*;

import javax.imageio.*;

class DyeImage

{

public static void main(String args[])

{

SwingUtilities.invokeLater(new Runnable()

{

public void run()

{

try

{

new DyeImage();

}

catch (Exception e)

{

e.printStackTrace();

}

}

});

}

public DyeImage() throws Exception

{

JFrame f = new JFrame();

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

BufferedImage image = ImageIO.read(new File("DRVpH.png"));

JPanel panel = new JPanel(new GridLayout(1,0));

panel.add(new JLabel(new ImageIcon(image)));

panel.add(new JLabel(new ImageIcon(dye(image, new Color(255,0,0,128)))));

panel.add(new JLabel(new ImageIcon(dye(image, new Color(255,0,0,32)))));

panel.add(new JLabel(new ImageIcon(dye(image, new Color(0,128,0,32)))));

panel.add(new JLabel(new ImageIcon(dye(image, new Color(0,0,255,32)))));

f.getContentPane().add(panel);

f.pack();

f.setVisible(true);

}

private static BufferedImage dye(BufferedImage image, Color color)

{

int w = image.getWidth();

int h = image.getHeight();

BufferedImage dyed = new BufferedImage(w,h,BufferedImage.TYPE_INT_ARGB);

Graphics2D g = dyed.createGraphics();

g.drawImage(image, 0,0, null);

g.setComposite(AlphaComposite.SrcAtop);

g.setColor(color);

g.fillRect(0,0,w,h);

g.dispose();

return dyed;

}

}

The result with the given image and different dyeing colors will look like this:

VuT3O.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【后台管理员功能】系统设置:设置网站简介、关于我们、联系我们、加入我们、法律声明广告管理:设置小程序首页轮播图广告和链接留言列表:所有用户留言信息列表,支持删除会员列表:查看所有注册会员信息,支持删除 资讯分类:录入、修改、查看、删除资讯分类录入资讯:录入资讯标题、内容等信息管理资讯:查看已录入资讯列表,支持删除和修改资讯评论列表:所有用户的评论信息列表资讯评论管理:支持对评论信息审核,删除;审核后的信息用户才可见 图片分类:录入、修改、查看、删除图片分类录入图片:录入图片标题、内容等信息管理图片:查看已录入图片列表,支持删除和修改图片评论列表:所有用户的评论信息列表图片评论管理:支持对评论信息审核,删除;审核后的信息用户才可见 【网站功能】用户注册:填写手机账号和密码,注册新用户登录功能:注册普通账号登录;登录后可以修改用户的基本信息,也可以退出。关于我们:关于我们、联系我们、加入我们、法律声明轮播广告:后台设置首页轮播广告图,可以连接到广告页面。留言反馈:用户填写李哭咽的主题、联系人、电话、邮箱、留言内容;后台管理可以查看留言列表,可以删除留言。 黑白图片上色转换:上传本地图片,通过百度AI智能,返回转换后的图片并显示 资讯阅读:游客和用户都可以进行资讯的阅读。资讯收藏:阅读到有兴趣的资讯,注册登录的用户可以进行收藏操作。资讯评论:阅读资讯的时候,登录的用户,可以发表评论;后台审核后显示。 图片阅读:游客和用户都可以进行图片信息的阅读。图片收藏:阅读到有兴趣的图片信息,注册登录的用户可以进行收藏操作。图片评论:阅读图片信息的时候,登录的用户,可以发表评论;后台审核后显示。 资讯浏览:记录用户所有浏览过的资讯信息资讯收藏:收藏的感兴趣的资讯文章,可以直接点击去阅读,支持删除。资讯评论:列出参与评论的文章、评论内容、审核状态。 图片浏览:记录用户所有浏览过的图片信息图片收藏:收藏的感兴趣的图片信息,可以直接点击去阅读,支持删除。图片评论:列出参与评论的图片信息、评论内容、审核状态。 用户信息:姓名、联系方式、邮箱、头像、简介、介绍等,支持随时修改;用户注册的信息后台管理员可见;后台管理员可以删除。密码修改:修改注册的密码。退出登录:清除登录的cookie,返回到首页。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值