java+图片数组的代码 菜鸟教程java数组

Java中如何把图片转换成二进制流

Java中将图片转为二进制流只需要使用FileImageInputStream取得图片文件,然后使用ByteArrayOutputStream 写入到二进制流中即可,下面是详细代码:

目前成都创新互联已为成百上千家的企业提供了网站建设、域名、虚拟空间、绵阳服务器托管、企业网站设计、大方网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

//图片到byte数组

public byte[] image2byte(String path){

byte[] data = null;

FileImageInputStream input = null;

try {

input = new FileImageInputStream(new File(path));

ByteArrayOutputStream output = new ByteArrayOutputStream();

byte[] buf = new byte[1024];

int numBytesRead = 0;

while ((numBytesRead = input.read(buf)) != -1) {

output.write(buf, 0, numBytesRead);

}

data = output.toByteArray();

output.close();

input.close();

}

catch (FileNotFoundException ex1) {

ex1.printStackTrace();

}

catch (IOException ex1) {

ex1.printStackTrace();

}

return data;

}

另外,如果需要将byte[]存回图片或转为String,则:

//byte数组到图片

public void byte2image(byte[] data,String path){

if(data.length3||path.equals("")) return;

try{

FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));

imageOutput.write(data, 0, data.length);

imageOutput.close();

System.out.println("Make Picture success,Please find image in " + path);

} catch(Exception ex) {

System.out.println("Exception: " + ex);

ex.printStackTrace();

}

}

//byte数组到16进制字符串

public String byte2string(byte[] data){

if(data==null||data.length=1) return "0x";

if(data.length200000) return "0x";

StringBuffer sb = new StringBuffer();

int buf[] = new int[data.length];

//byte数组转化成十进制

for(int k=0;kdata.length;k++){

buf[k] = data[k]0?(data[k]+256):(data[k]);

}

//十进制转化成十六进制

for(int k=0;kbuf.length;k++){

if(buf[k]16) sb.append("0"+Integer.toHexString(buf[k]));

else sb.append(Integer.toHexString(buf[k]));

}

return "0x"+sb.toString().toUpperCase();

}

java中数组从大到小依次排序的代码问题

上面通过比较把值进行换位

下面是直接把值赋予了

//Java为数组提供的排序方法

Arrays.sort(数组);升序

在Java代码中。 数组的排序代码是Arrays.sort(数组名); 这是升序的。 那逆序怎么弄?

排好序后,倒序输出就行了。假设数组为int[]a:

for(int i=a.length-1;i=0;i--){

System.out.println(a[i]);

}

急求用JAVA编写的图形化界面拼图小游戏代码!

个人见解,总体需要两个二维数组(一个存储正确图片排列 Array1 String[][],一个随机生成图片排列Array2 String[][]),一个一维数组来存储图片的名称Array3 String[],。

(1)如何实现图片移动

使用带图片的按钮(button =new button(getImage(Array[2][4]))),然后通过单击事件来更改按钮的图片来源。 把被点击的按钮的图片路径更新到空白按钮,并且把被点击的按钮图片更新的成空白。其实就是变换两个的二维数组成员的值。更新Array2中的值,然后重绘按钮

如 Array[2][3]=“3.image”

Array[2][4]=“”

图片3.image右移

Array[2][3]=“”

Array[2][4]=“3.image”

(2)如何判断被单击的网格与空白的网格是否相邻

后台使用一个二维数组Array2来做映射。通过二维数组的下标来判断,如Array[2][3]可以知道Array[2][4]是它右边的那个。

(3)如何实现图片的随机摆放

比如有9个图片,你可以命名1-9,然后初始化一个长度为9的一维String 数组Array3来存储图片的名称,

使用随机函数给二维数组Array2赋值,如Array2[2][3]=Array3[random()],这里要判断这个图片是否已被使用过,可以通过遍历Array2来确定当前Array3这个值是否已经在Array2中了

最后通过Array1 和Array2来比较,用户的拼图是否正确。

语言组织能力有限。讲不太清楚。

java数组问题 求代码 拜求大神

按照你的要求编写的Java程序如下

public class A {

public static void main(String[] args) {

int a[]={9,13,6,1,7};

int b[]={11,3,15,8};

int c[]=new int[a.length+b.length];

int count=0;

for(int i=0;ia.length;i++){

if(a[i]10  a[i]%2==1){

c[count]=a[i];

count++;

}

}

for(int i=0;ib.length;i++){

if(b[i]10  b[i]%2==1){

c[count]=b[i];

count++;

}

}

for(int i=0;icount;i++){

System.out.print(c[i]+" ");

}

System.out.println();

}

}


当前名称:java+图片数组的代码 菜鸟教程java数组
网站地址:http://pwwzsj.com/article/hjjpjg.html