java圖片數組
A. 在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
不知是否是你想要的答案.
B. java可不可以定義圖片的數組
java中一切都是對象,圖片也是對象,自然也可以定義數組。
C. java 怎麼得到一張bmp圖片的像素數組
//我在程序中列印出了每一個坐標的RGB值,你自己整理整理,求個平均值,
//放到你的那個二維數組里。
//自己用畫圖工具做一個小圖片,注意圖片的名字和程序中一致哦~
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;
public class Test{
public static void main(String args[]) {
int[] rgb = new int[3];
File file = new File("a.bmp");
BufferedImage bi=null;
try{
bi = ImageIO.read(file);
}catch(Exception e){
e.printStackTrace();
}
int width=bi.getWidth();
int height=bi.getHeight();
int minx=bi.getMinX();
int miny=bi.getMinY();
System.out.println("width="+width+",height="+height+".");
System.out.println("minx="+minx+",miniy="+miny+".");
for(int i=minx;i<width;i++){
D. 怎麼用java實現:把多個圖片添加到一個數組,並調用所有圖片
// 這是一個嵌入到網頁中動態顯示50是張圖片的java小應用程序,希望你對有幫助!
import java.awt.*;
import java.applet.*;
public class Picture extends Applet
{
Image[] theImages;
int nNum = 50;
int nNow = 0;
public void init()
{
theImages = new Image[nNum];
for(int i = 0; i < nNum ; i++)//將圖片裝入數組
theImages[i] = getImage(getDocumentBase(), "pic" + Integer.toString(i) + ".jpg");
}
public void start()
{
nNow = 0;
}
public void paint(Graphics g)
{
g.drawImage(theImages[nNow],500,500,this);
nNow++;
if(nNow>=nNum)
nNow = 0;
try
{
Thread.sleep(50);
}
catch(Exception e){showStatus(e.toString());}
repaint();
}
public void main()
{
Graphics g;
g=this.getGraphics ();
init();
start();
paint(g);
}
}
E. java 中圖片數組和Jbutton的問題
你可以隨機產生一個數,用random,然後把產生的值給一個變數 給變數的值分區間比如:1--10為圖案1,11--20為圖案2等等 java里有paint函數可以用 具體的你看javaAPI吧
F. java怎樣用數組存儲圖片
先弄個標簽,在滑鼠事件里加入以下代碼。 private void jLabel8MouseClicked(java.awt.event.MouseEvent evt) { // 滑鼠事件
JFileChooser fc=new JFileChooser();
int ret=fc.showOpenDialog(jLabel8);
if(ret==JFileChooser.APPROVE_OPTION){
File file=fc.getSelectedFile();
Icon icon=new ImageIcon(file.getPath());
jLabel8.setIcon(icon);
jLabel8.setText(file.getPath());
}//從文件中讀取圖 片。
G. 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();
}
}
}
運行結果:
圖片輸出完畢!
原圖:
H. java返回圖片位元組數組到html,前段怎麼展示
java返回圖片位元組數組到html,前段不能鏈接在一起,可以通過ajax模擬展示。通過腳本和後台進行交互,根本的還是你問我答式的訪問,只不過可以不通過頁面轉換。用java處理後得到的可以用工作域的方式傳給html,把值放入request,session這些都可以,然後在頁面中通過作用域得到你放在裡面的值。
I. java 圖片數組怎麼實例化
foodbag[foodlist-1]=food[s];
foodlist初始為1,數組下標是0開始的.1的話就越界了.減一就OK了
你的foodbag構造的長度只有1,循環後也會出錯的.改成
String[] foodbag = new String[p1bag.length];