本篇文章為大家展示了利用java怎么實(shí)現(xiàn)一個(gè)將圖片去色的功能,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、城固ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的城固網(wǎng)站制作公司
現(xiàn)在我們要將這樣的一張圖片
變成為
代碼
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); // 下面三行代碼將一個(gè)數(shù)字轉(zhuǎn)換為RGB數(shù)字 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); //現(xiàn)在我需要獲取到?jīng)]一點(diǎn)的rgb int y=img.getHeight(); int x=img.getWidth(); BufferedImage grayImage = new BufferedImage(x, y, BufferedImage.TYPE_BYTE_GRAY); for(int i=0;i> 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> 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);
這一部分是獲取到到圖片的每一點(diǎn)的像素或者說(shuō)ARGB:
int pixel=img.getRGB(i, j);
然后進(jìn)一步的獲取到RGB,然后我們獲取到這點(diǎn)像素的灰度值,
int gray=(int) (rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11);
并且創(chuàng)建一個(gè)顏色:
lor color=new Color(gray,gray,gray); img.setRGB(i, j, color.getRGB());
上述內(nèi)容就是利用java怎么實(shí)現(xiàn)一個(gè)將圖片去色的功能,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。