導航:首頁 > 編程語言 > java圖形數組

java圖形數組

發布時間:2024-04-27 18:41:31

java中圖像與數組轉換

按照你的要求編寫的Java程序如下:( 要注意的地方見語句後面的注釋)

importjava.awt.image.BufferedImage;
importjava.awt.image.RenderedImage;
importjava.io.File;
importjava.io.IOException;
importjavax.imageio.ImageIO;
publicclassImageWithArray{
publicstaticvoidmain(String[]args){
//讀取圖片到BufferedImage
BufferedImagebf=readImage("c:\tmp\6\female.png");//這里寫你要讀取的絕對路徑+文件
//將圖片轉換為二維數組
int[][]rgbArray1=convertImageToArray(bf);
//輸出圖片到指定文件
writeImageFromArray("c:\tmp\2.png","png",rgbArray1);//這里寫你要輸出的絕對路徑+文件名
System.out.println("圖片輸出完畢!");
}
(StringimageFile){
Filefile=newFile(imageFile);
BufferedImagebf=null;
try{
bf=ImageIO.read(file);
}catch(IOExceptione){
e.printStackTrace();
}
returnbf;
}
publicstaticint[][]convertImageToArray(BufferedImagebf){
//獲取圖片寬度和高度
intwidth=bf.getWidth();
intheight=bf.getHeight();
//將圖片sRGB數據寫入一維數組
int[]data=newint[width*height];
bf.getRGB(0,0,width,height,data,0,width);
//將一維數組轉換為為二維數組
int[][]rgbArray=newint[height][width];
for(inti=0;i<height;i++)
for(intj=0;j<width;j++)
rgbArray[i][j]=data[i*width+j];
returnrgbArray;
}
(StringimageFile,Stringtype,int[][]rgbArray){
//獲取數組寬度和高度
intwidth=rgbArray[0].length;
intheight=rgbArray.length;
//將二維數組轉換為一維數組
int[]data=newint[width*height];
for(inti=0;i<height;i++)
for(intj=0;j<width;j++)
data[i*width+j]=rgbArray[i][j];
//將數據寫入BufferedImage
BufferedImagebf=newBufferedImage(width,height,BufferedImage.TYPE_INT_BGR);
bf.setRGB(0,0,width,height,data,0,width);
//輸出圖片
try{
Filefile=newFile(imageFile);
ImageIO.write((RenderedImage)bf,type,file);
}catch(IOExceptione){
e.printStackTrace();
}
}
}

運行結果:

圖片輸出完畢!

原圖:

⑵ 在JAVA中定義圖片數組

為實現此意圖需要分抄三段來實現:

1。 初始化: Image[] img=new Image[n];
for(int i=0;i<n;i++)循環讀取裝入圖片文件
img[i]=Toolkit.getDefaultToolkit().createImage(....)//裝入圖片位置
}

2. 啟動變換圖片與刷新界面線程
run(){//線程入口
while(flag){
index++;
index%=n;(或寫成if(index>n-1)index=0;)
repiant();//重繪
sleep(時間)//注意要try...catch
}
}

3. 繪圖,在指定x,y位置畫圖
int index=0;
public void paint(Graphics g){
g.drawImage(img[index],x,y,this);
}

總結:
paint()方法專業繪圖,就一條語句,切不可太復雜,要符合MVC模式
邏輯改變都要寫到線程run方法中去,讓run來改變當前需要顯示的圖片
如此 run負責邏輯,paint負責視圖,符合MVC

不知是否是你想要的答案.

⑶ java寫一個圖形程序,讓數組輸出在圖形界面上

已把程序文件打包上傳了,並附上運算結果圖。

importjavax.swing.*;
importjava.awt.*;
importjava.util.*;
importjava.awt.event.*;

{
Stringdata;
JButtonb1;
JLabell1;
publicShowDataInTheArrary(Stringa){
data=a;
setTitle("ShowDatainthearray");
setLayout(newGridLayout(2,1));
b1=newJButton("show");
l1=newJLabel();

b1.addActionListener(newMonitor());

add(l1);
add(b1);

pack();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}

{
publicvoidactionPerformed(ActionEvente){
l1.setText(data);
}
}

publicstaticvoidmain(String[]args){

StringarrayData="";
for(inti=0;i<args.length;i++)
arrayData+=args[i];
ShowDataInTheArraryb=newShowDataInTheArrary(arrayData);
}
}

⑷ 濡備綍鍦╦ava涓浣跨敤鏁扮粍

1銆侀栧厛鍙浠ヤ嬌鐢⊿tring[] s=new String[6]錛屽畾涔変竴涓闀垮害涓6鐨勫瓧絎︿覆鏁扮粍錛屽畾涔変箣鍚庯紝鍙浠ュ瑰瓧絎︿覆鏁扮粍榪涜岃祴鍊礆紝濡備笅鍥炬墍紺恆

閱讀全文

與java圖形數組相關的資料

熱點內容
不用下載可以免費看的 瀏覽:838
凌凌漆電影完整版國語 瀏覽:148
懷孕生子電影大全歐美 瀏覽:702
韓國一部講假期多對情侶 瀏覽:753
壓縮文件可以直接升級嗎 瀏覽:480
oracle游標大資料庫 瀏覽:145
刪除文件命令為linux 瀏覽:506
《黃金屋內多風情》 瀏覽:63
蘋果手機word文件怎麼寫 瀏覽:104
兩片8選1數據選擇器如何四變數 瀏覽:283
linuxcppunit安裝 瀏覽:963
自慰韓國電影 瀏覽:496
PE系統拷貝文件提示需要許可權 瀏覽:644
校園四大天王電影 瀏覽:299
手機emmc編程器哪個好 瀏覽:35
法國禁忌十大片 瀏覽:232
飛盧app怎麼注冊成為作者 瀏覽:400
路由器網路mtu 瀏覽:70
穿越電影世界在現實中搞科研的小說 瀏覽:661
香港粵語電影 瀏覽:787

友情鏈接