之前也写过一个代码给一张图片然后把图片变暗,今天我们换一种思路,或者是是另外的一种方式将图片至暗,当然方法也是很简单的,但是对于菜鸟的我在这个地方停留了一天半的时间,将图片至暗

现在我们要将这样的一张图片
变成为
虽然说变暗之后确实没有之间亮的好看,但是不管了,反正那么漂亮的|美女|和我的关系我不太大,如果说硬是有关系的话,那应该是在梦中了,好了我们直接上代码
package com.epoint.wdg.test;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImgTest {
public static void main(String[] args) throws IOException {
File file=new File("C://Users/wdg/Desktop/people.png");
//showParamterofImg(file);
File file2=changeImgtoGray(file);
grayPicToBW(file2);
}
public static void getRGB(File file) throws IOException{
int []rgb =new int[3];
BufferedImage img=ImageIO.read(file);
int pixel=img.getRGB(2, 3);
// 下面三行代码将一个数字转换为RGB数字
rgb[0] = (pixel & 0xff0000) >> 16;
rgb[1] = (pixel & 0xff00) >> 8;
rgb[2] = (pixel & 0xff);
System.out.println(rgb[0]+"-"+rgb[1]+"-"+rgb[2]);
}
//把图片变灰色
public static File changeImgtoGray(File file) throws IOException{
float []rgb =new float[3];
BufferedImage img=ImageIO.read(file);
//现在我需要获取到没一点的rgb
int y=img.getHeight();
int x=img.getWidth();
BufferedImage grayImage = new BufferedImage(x, y, BufferedImage.TYPE_BYTE_GRAY);
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
int pixel=img.getRGB(i, j);
// grayImage.setRGB(startX, startY, w, h, rgbArray, offset, scansize);
rgb[0] = (pixel & 0xff0000) >> 16;
rgb[1] = (pixel & 0xff00) >> 8;
rgb[2] = (pixel & 0xff);
int gray=(int) (rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11);
Color color=new Color(gray,gray,gray);
img.setRGB(i, j, color.getRGB());
}
}
File newFile = new File("C://Users/wdg/Desktop/"+"/method5.jpg");
ImageIO.write(img, "jpg", newFile);
// grayPicToBW(newFile);
return newFile;
}
其中最为重要的是这一部分:
int y=img.getHeight();
int x=img.getWidth();
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
int pixel=img.getRGB(i, j);
rgb[0] = (pixel & 0xff0000) >> 16;
rgb[1] = (pixel & 0xff00) >> 8;
rgb[2] = (pixel & 0xff);
int gray=(int) (rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11);
Color color=new Color(gray,gray,gray);
img.setRGB(i, j, color.getRGB());
}
}
File newFile = new File("C://Users/wdg/Desktop/"+"/method5.jpg");
ImageIO.write(img, "jpg", newFile);
这一部分是获取到到图片的每一点的像素或者说ARGB:
int pixel=img.getRGB(i, j);
然后进一步的获取到RGB,然后我们获取到这点像素的灰度值,
int gray=(int) (rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11);
并且创建一个颜色:
lor color=new Color(gray,gray,gray); img.setRGB(i, j, color.getRGB());
这样我们将图片打印出来就是我们第二张图片那样了
以上这篇java将图片至暗的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# java
# 图片至暗
# JAVA比较两张图片相似度的方法
# Java实现图片对比功能
# 这一
# 给大家
# 的是
# 变暗
# 是在
# 我在
# 我不
# 好了
# 菜鸟
# 太大
# 希望能
# 很简单
# 或者是
# 如果说
# 梦中
# 要将
# 或者说
# 这篇
# 转换为
# 留了
相关文章:
网站制作需要会哪些技术,建立一个网站要花费多少?
IOS倒计时设置UIButton标题title的抖动问题
网站制作的步骤包括,正确网址格式怎么写?
建站之星价格显示格式升级,你的预算足够吗?
济南网站制作的价格,历城一职专官方网站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
制作旅游网站html,怎样注册旅游网站?
上海网站制作开发公司,上海买房比较好的网站有哪些?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
宝塔新建站点报错如何解决?
如何在万网自助建站平台快速创建网站?
c# 在ASP.NET Core中管理和取消后台任务
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
制作表格网站有哪些,线上表格怎么弄?
已有域名和空间,如何快速搭建网站?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
焦点电影公司作品,电影焦点结局是什么?
c++ stringstream用法详解_c++字符串与数字转换利器
建站主机如何选?高性价比方案全解析
北京企业网站设计制作公司,北京铁路集团官方网站?
建站之星各版本价格是多少?
如何选择域名并搭建高效网站?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
如何挑选优质建站一级代理提升网站排名?
建站VPS能否同时实现高效与安全翻墙?
网站制作话术技巧,网站推广做的好怎么话术?
如何基于PHP生成高效IDC网络公司建站源码?
盐城做公司网站,江苏电子版退休证办理流程?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何在云主机快速搭建网站站点?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
教学网站制作软件,学习*后期制作的网站有哪些?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
如何在IIS7中新建站点?详细步骤解析
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
建站主机选购指南:核心配置优化与品牌推荐方案
相册网站制作软件,图片上的网址怎么复制?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何通过老薛主机一键快速建站?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
建站主机如何安装配置?新手必看操作指南
建站之星备案流程有哪些注意事项?
如何在IIS中新建站点并配置端口与物理路径?
如何快速上传自定义模板至建站之星?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
建站之星代理平台如何选择最佳方案?
*请认真填写需求信息,我们会在24小时内与您取得联系。