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];