导航:首页 > 编程语言 > java图片byte数组

java图片byte数组

发布时间:2022-06-06 12:56:53

‘壹’ java GUI 中如何将一张图片读到一个byte数组或其他数组中,有如何将该数组再转换成图片

/**
* 转换Image数据为byte数组
* @param image
* Image对象
* @param format
* image格式字符串.如"gif","png"
* @return byte数组
*/
public static byte[] imageToBytes(Image image, String format) {
BufferedImage bImage = new BufferedImage(image.getWidth(null), image
.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics bg = bImage.getGraphics();
bg.drawImage(image, 0, 0, null);
bg.dispose();

ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
ImageIO.write(bImage, format, out);
} catch (IOException e) {
e.printStackTrace();
}
return out.toByteArray();
}

/**
* 转换byte数组为Image
* @param bytes
* @return Image
*/
public static Image bytesToImage(byte[] bytes) {
Image image = Toolkit.getDefaultToolkit().createImage(bytes);
try {
MediaTracker mt = new MediaTracker(new Label());
mt.addImage(image, 0);
mt.waitForAll();
} catch (InterruptedException e) {
e.printStackTrace();
}

return image;
}

‘贰’ 有关java byte类型的二维数组问题

首先:无
其次:
guave
Files.toByteArray(File)
ByteStreams.toByteArray(InputStream)

apache commons
IOUtils.toByteArray(InputStream input)

‘叁’ java怎样把一个byte数组保存成图片到硬盘上

转成的图片 要么是个文件File 要么是个文件流. 那都只需要通过输入输出流往磁盘上写就行了

‘肆’ java中byte[]是怎么意思

byte即字节的意思,是java中的基本类型,用心申明字节型的变量。

通常在读取非文本文件时(如图片,声音,可执行文件)需要用字节数组来保存文件的内容。

在下载文件时,也是用byte数组作临时的缓冲器接收文件内容。所以说byte在文件操作时是必不可少的。不管是对文件写入还是读取都要用到。

(4)java图片byte数组扩展阅读:

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

Java语言是一门随时代快速发展的计算机语言程序,其深刻展示了程序编写的精髓,加上其简明严谨的结构及简洁的语法编写为其将来的发展及维护提供了保障。

由于提供了网络应用的支持和多媒体的存取,会推动Internet和企业网络的Web的应用。

‘伍’ 为什么java中我把一张图片读到一个byte数组中,然后把该数组个元素加一,再把数组还原成图片时会不行

应该是类型转换问题,也就是说从一开始你要是使用byte,那么第一种方法是可行的,可能你是从中途把别的类型的要转换成byte,当然不行了,因为比如说,老虎一定是动物,但是动物不一定是老虎,所以你先看看你最前面的是不是定义的比byte大的类型了

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

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


//图片到byte数组
publicbyte[]image2byte(Stringpath){
byte[]data=null;
FileImageInputStreaminput=null;
try{
input=newFileImageInputStream(newFile(path));
ByteArrayOutputStreamoutput=newByteArrayOutputStream();
byte[]buf=newbyte[1024];
intnumBytesRead=0;
while((numBytesRead=input.read(buf))!=-1){
output.write(buf,0,numBytesRead);
}
data=output.toByteArray();
output.close();
input.close();
}
catch(FileNotFoundExceptionex1){
ex1.printStackTrace();
}
catch(IOExceptionex1){
ex1.printStackTrace();
}
returndata;
}

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

//byte数组到图片
publicvoidbyte2image(byte[]data,Stringpath){
if(data.length<3||path.equals(""))return;
try{
=newFileImageOutputStream(newFile(path));
imageOutput.write(data,0,data.length);
imageOutput.close();
System.out.println("MakePicturesuccess,Pleasefindimagein"+path);
}catch(Exceptionex){
System.out.println("Exception:"+ex);
ex.printStackTrace();
}
}
//byte数组到16进制字符串
publicStringbyte2string(byte[]data){
if(data==null||data.length<=1)return"0x";
if(data.length>200000)return"0x";
StringBuffersb=newStringBuffer();
intbuf[]=newint[data.length];
//byte数组转化成十进制
for(intk=0;k<data.length;k++){
buf[k]=data[k]<0?(data[k]+256):(data[k]);
}
//十进制转化成十六进制
for(intk=0;k<buf.length;k++){
if(buf[k]<16)sb.append("0"+Integer.toHexString(buf[k]));
elsesb.append(Integer.toHexString(buf[k]));
}
return"0x"+sb.toString().toUpperCase();
}

‘柒’ java byte类型有什么用

存储字节用,后面还会用到字节数组,再字节流的时候

‘捌’ 用java写个程序 将 图像文件(png,jpg,等等) 转换成byte数组的 程序 谢谢 了

/* 读写图像文件 */
import javax.swing.JOptionPane;
import java.io.*;
class FileRW
{
int bytes;
byte buffer[ ] = new byte[65560];
FileInputStream fileInput;
FileOutputStream fileOutput;

FileRW()
{
takeimg();
loadimg();
JOptionPane.showMessageDialog(null,"文件复制并更名成功!\n文件大小为:"+bytes);
System.exit(0); //退出程序
}
//读取图像文件a.jpg
public void takeimg()
{
try {
File file=new File("a.jpg");
fileInput = new FileInputStream(file);
bytes = fileInput.read(buffer,0,65560);
} catch(IOException ei) { System.out.println(ei); }
}
//写入到b.jpg
public void loadimg()
{
try {
fileOutput = new FileOutputStream("b.jpg");
fileOutput.write(buffer, 0, bytes) ;
} catch(IOException eo) { System.out.println(eo); }
}
}

public class 读写图像文件
{
public static void main(String[] args)
{ new FileRW(); }
}

‘玖’ JAVA 如何读取接受到的byte[]图片

同上

阅读全文

与java图片byte数组相关的资料

热点内容
在别人服务器里如何使用命令方块 浏览:852
易语言源码转python 浏览:364
程序员日祝福 浏览:883
阿里tv助手app哪里下载 浏览:187
app活动怎么关 浏览:202
java改变map 浏览:348
解压钢琴吕恒 浏览:991
程序员怎么获取被动收入 浏览:568
能不能别让编程猫打电话给我了 浏览:687
量线突破指标源码 浏览:458
云服务器阿里环境搭建 浏览:123
锥孔是怎么编程的 浏览:133
加强箍和加密箍的区别 浏览:897
怎么在腾讯服务器上传文件 浏览:643
公司门户app安卓怎么卸载 浏览:990
单片机中段源 浏览:143
电脑桌面文件加密要怎样解除 浏览:963
quickfoxapp的商场在哪里 浏览:2
单片机与pc机通信毕业设计 浏览:221
wan口的服务器默认账号是什么 浏览:177