如果有ImageIcon或Image对象,如何转为二进制流(byte[])呢?
解决方案 »
- 将只包含字母的单词放到String数组中,将数字放到int数组中。
- 十六进制转字符串乱码问题
- Byte數組轉換成中文
- 求教:Json数据格式转换为java数组
- JPanel打印问题。。。急!!!!
- 读取文件时在jbuilder中出错,但在jcreator中没有问题
- 帮忙: java简单问题.
- 学JAVA的好地方在那儿,
- 是否:文本(带换行)无法存入char(n),varchar(n)类型字段中??
- Weblogic6.0的crack包哪有下载?
- 如何将数值1转为格式化字符型001?
- hashmap,hashset,treeset,treemap那些需要实现comparator,那些需要实现hashcode()
public Raster getData()Raster
public int[] getPixel(int x, int y, int[] iArray)
* 转换Image数据为byte数组
*
* @param image Image对象
* @param format image格式字符串.如"jpeg","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)
{
Log.log(null, "imageToBytes(): " + e);
}
return out.toByteArray();
} /**
* 转换byte数组为Image
*
* @param bytes Image的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)
{
Log.log(null, "preloadResource(): " + e);
} return image;
}
但是我要用Socket(TCP)连接传输Byte[]数组怎么弄呢?好像都只能传String的样子。
怎么办?
如果是前者几乎每个输出流都有write(byte[])方法啊.