當前位置:首頁 » 操作系統 » 圖片變灰源碼

圖片變灰源碼

發布時間: 2023-05-26 01:52:44

java程序將彩色png圖片轉為黑白的

幫你搜了一段網上流行的代碼:

灰度變換
下面的程序使用三種方法對一個彩色圖像進行灰度變換,變換的效果都不一樣。一般而言,灰度變換的演算法是將象素的三個顏色分量使用R*0.3+G*0.59+B*0.11得到灰度值,然後將之賦值給紅綠藍,這樣顏色取得的效果就是灰度的。另一種就是取紅綠藍三色中的最大值作為灰度值。java核心包也有一種演算法,但是沒有看源代碼,不知道具體演算法是什麼樣的,效果和上述不同。

/* GrayFilter.java*/
/*@author:cherami */
/*email:[email protected]*/
import java.awt.image.*;
public class GrayFilter extends RGBImageFilter {
int modelStyle;
public GrayFilter() {
modelStyle=GrayModel.CS_MAX;
canFilterIndexColorModel=true;
}
public GrayFilter(int style) {
modelStyle=style;
canFilterIndexColorModel=true;
}
public void setColorModel(ColorModel cm) {
if (modelStyle==GrayModel
else if (modelStyle==GrayModel
}
public int filterRGB(int x,int y,int pixel) {
return pixel;
}
}

/* GrayModel.java*/
/*@author:cherami */
/*email:[email protected]*/
import java.awt.image.*;
public class GrayModel extends ColorModel {
public static final int CS_MAX=0;
public static final int CS_FLOAT=1;
ColorModel sourceModel;
int modelStyle;

public GrayModel(ColorModel sourceModel) {
super(sourceModel.getPixelSize());
this.sourceModel=sourceModel;
modelStyle=0;
}

public GrayModel(ColorModel sourceModel,int style) {
super(sourceModel.getPixelSize());
this.sourceModel=sourceModel;
modelStyle=style;
}

public void setGrayStyle(int style) {
modelStyle=style;
}

protected int getGrayLevel(int pixel) {
if (modelStyle==CS_MAX) {
return Math.max(sourceModel.getRed(pixel),Math.max(sourceModel.getGreen(pixel),sourceModel.getBlue(pixel)));
}
else if (modelStyle==CS_FLOAT){
return (int)(sourceModel.getRed(pixel)*0.3+sourceModel.getGreen(pixel)*0.59+sourceModel.getBlue(pixel)*0.11);
}
else {
return 0;
}
}

public int getAlpha(int pixel) {
return sourceModel.getAlpha(pixel);
}

public int getRed(int pixel) {
return getGrayLevel(pixel);
}

public int getGreen(int pixel) {
return getGrayLevel(pixel);
}

public int getBlue(int pixel) {
return getGrayLevel(pixel);
}

public int getRGB(int pixel) {
int gray=getGrayLevel(pixel);
return (getAlpha(pixel)<<24)+(gray<<16)+(gray<<8)+gray;
}
}

㈡ 類似騰訊空間好友相片點擊放大,可以旋轉、關閉、查看上、下一張圖片,圖片在放大的時候背景變灰源代碼

網路一下:LightBox

熱點內容
我的世界伺服器記分板排版 發布:2025-07-03 11:39:22 瀏覽:568
安卓前期用什麼處理器 發布:2025-07-03 11:37:54 瀏覽:868
如何更換安卓手機內存 發布:2025-07-03 11:18:52 瀏覽:57
魔獸清理緩存 發布:2025-07-03 10:46:38 瀏覽:521
神州防火牆web怎麼配置代碼 發布:2025-07-03 10:37:54 瀏覽:328
安卓看小說哪個軟體免費又最好 發布:2025-07-03 10:25:30 瀏覽:434
linuxprofile 發布:2025-07-03 10:25:29 瀏覽:719
存儲藍盤 發布:2025-07-03 09:55:10 瀏覽:887
java必學 發布:2025-07-03 09:21:57 瀏覽:446
go在線編譯 發布:2025-07-03 09:14:51 瀏覽:19