简体   繁体   English

从字节数组创建 java.awt.Image

[英]Create java.awt.Image from an array of bytes

I am using the below codes to transform the bitmap coming from android device in an array of bytes and sending for a Java SE app via UDP, it is working well, my question is how to transform this byte array to java.awt.Image.我正在使用以下代码将来自 android 设备的位图转换为字节数组并通过 UDP 发送给 Java SE 应用程序,它运行良好,我的问题是如何将此字节数组转换为 java.awt.Image。

Bitmap bmp = intent.getExtras().get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();

In android I could do something like在android中,我可以做类似的事情

ImageView myImg = (ImageView) findViewById(R.id.img_view);
myImg.setImageBitmap(BitmapFactory.decodeByteArray(bytSig, 0, bytSig.length))

用这个

Image image = ImageIO.read(new ByteArrayInputStream(yourByteArray));

java.awt.Toolkit.createImage has a byte-array variant. java.awt.Toolkit.createImage 有一个字节数组变体。 So that would be:所以那将是:

import java.awt.Image;
import java.awt.Toolkit;

byte[] imagedata = ...;
Image img = Toolkit.getDefaultToolkit().createImage(imagedata);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM