?? qiege.java
字號:
-------------------------------------------------------------------------------------------
/*數(shù)字圖像切割程序
切割原理:先要獲得圖像的基本信息例如圖片的長度和寬度以及圖片所有像素的信息*/
import java.awt.*;
import java.applet.*;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.geom.*;
import java.awt.image.BufferedImage;
import java.awt.image.*;
public class qiege extends Applet
{
int w,h;
Image img1,img;
public void init()
{
try{
BufferedImage bufImg=ImageIO.read(new java.io.File("11670995.jpg")); //讀取圖片
int width=bufImg.getWidth(); //獲取圖片寬度
int height=bufImg.getHeight(); //獲取圖片的長度
w=width;
h=height;
}
catch(Exception e){}
img1=Toolkit.getDefaultToolkit().getImage("11670995.jpg"); //獲取圖片
int pix[]=new int[w*h]; //定義像素的數(shù)組
PixelGrabber pg=new PixelGrabber(img1,0,0,w,h,pix,0,w); //獲取像素
try{
pg.grabPixels();
}
catch(InterruptedException e){}
int pix2[]=new int[w*h];
int pix3[]=new int[w*h];
int a,i,j,k=0,x,flag1=0,flag2,y=20;
a=pix[0];
int xs[][]=new int[h][w];
for(i=0;i<h;i++)
for(j=0;j<w;j++)
{
xs[i][j]=pix[k];
k++;
}
for(i=0;i<h;i++) //
{
j=0;
k=w-1;
do{
if(xs[i][j]<=a+1750000)
{
xs[i][j]=-1;
j++;
}
else
break;
}while(j<w);
do{
if(xs[i][k]<=a+1750000)
{
xs[i][k]=-1;
k--;
}
else
break;
}while(k>0);
}
for(i=0;i<w;i++)
{
j=0;
k=h-1;
do{
if(xs[j][i]<=a+1750000||xs[j][i]==-1)
{
xs[j][i]=-1;
j++;
}
else
break;
}while(j<h);
do{
if(xs[k][i]<=a+1750000||xs[k][i]==-1)
{
xs[k][i]=-1;
k--;
}
else
break;
}while(k>0);
}
k=0;
for(i=0;i<h;i++)
for(j=0;j<w;j++)
{
pix2[k]=xs[i][j];
k++;
}
img=createImage(new MemoryImageSource(w,h,pix2,0,w)); //通過像素生成圖片
}
public void paint(Graphics g)
{
g.drawImage(img1,10,10,this); //輸出原圖
g.drawImage(img,600,10,this);
}
}
----------------------------------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -