📄 zhongzhi.java
字号:
import java.awt.*;
import java.awt.image.*;
import java.applet.*;
public class zhongzhi extends Applet
{
Image img,pic;
int wide,high;
int p[];
int hist[]=new int[16];
public void init()
{
try
{
img=getImage(getDocumentBase(),"1.jpg");
MediaTracker mt= new MediaTracker(this);//跟踪多种媒体对象状态
mt.addImage(img,0);//向此媒体跟踪器正在跟踪的图像列表添加一个图像
mt.waitForID(0);//开始加载由此媒体跟踪器跟踪且具有指定标识符的所有图像。
wide=img.getWidth(null);
high=img.getHeight(null);
p=new int[wide*high];
PixelGrabber grabber=new PixelGrabber(img,0,0,wide,high,p,0,wide);
grabber.grabPixels();
}catch(InterruptedException e){};
for(int y=3;y<high;y+=3)
for(int x=3;x<wide;x+=3)
{
int k=0;
for(int i=x;i<x+3;i++)
for(int j=y;j<y+3;j++)
{
int pixel=p[(j-1)*wide+i];
int r=0xff&(pixel>>16);
int g=0xff&(pixel>>8);
int b=0xff&(pixel);
hist[k++]=(int)(0.33*r+0.56*g+0.11*b);
}
for(int i=0;i<9;i++)
for( int j=0;j<9-i;j++)
{
if(hist[j]>hist[j+1])
{
int t=hist[j];
hist[j+1]=hist[j];
hist[j+1]=t;
}
}
int mid=hist[4];
for(int i=x;i<x+3;i++)
for(int j=y;j<y+3;j++)
{
p[(j-1)*wide+i]=0xff000000|mid<<16|mid<<8|mid;
pic=createImage(new MemoryImageSource(wide,high,p,0,wide)) ; //根据指定的图像生成器创建一幅图像
}
}
}
public void paint (Graphics g)
{
g.drawImage(img,20,0,300,300,null);
g.drawImage(pic,330,0,300,300,null);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -