導航:首頁 > 編程語言 > 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圖形數組相關的資料

熱點內容
wordpress製作單頁網站導航頁面 瀏覽:277
什麼海外網站可以看限製片 瀏覽:596
指尖見app在哪裡下載 瀏覽:367
java聊天室課程設計 瀏覽:670
responsejavascript 瀏覽:71
如何從殺毒軟體裡面恢復出文件 瀏覽:972
越獄iphone如何備份 瀏覽:124
蘋果四S萬能鑰匙怎麼破不開 瀏覽:603
網路列印機共享怎麼連接 瀏覽:313
fme系統找不到指定文件 瀏覽:301
iphoneid和密碼忘了怎麼辦 瀏覽:238
蘋果電腦優盤里的文件如何加密 瀏覽:284
word標題名和文件名一致 瀏覽:957
excel修改後的文件保持了怎麼恢復 瀏覽:340
社保網路認證怎麼弄 瀏覽:92
蘋果手機怎麼傳數據到新手機相冊 瀏覽:50
5s升級ios92無服務 瀏覽:354
ubuntu翻譯工具 瀏覽:665
wifi安裝教程 瀏覽:398
蘋果有些qq文件打不開 瀏覽:139

友情鏈接