java将图片保存为数组_将字节数组从动作脚本转换为Java中的图像并保存

我是.NET开发人员,但我遇到的问题与.NET无关

请记住这一点,即使我的问题听起来很琐碎。

这是我的问题:

我们在浏览器中有一个SWF,它与Java扩展进行通信。

使用smartfox服务器完成(用于MMO应用程序)

从SWF中,我们在操作脚本(3)中将屏幕的一部分作为“字节数组”。

在Java中,我们调用一个函数,它将BytErar转换成图像,然后保存它。

我们的Java开发人员遇到了错误

java.lang.illegalargument异常

当Java函数执行时。

所以基本上,我想知道的是:

如何从Java中的ActionScript接受对象类型字节数组?

在ActionScript中映射到字节数组的Java对象类型是什么?

我敢说,转换部分很容易。

更新:

ActionScript部分中的代码

public function savePhoto(uName:String, ba:ByteArray, descr:String):void{

var obj:Object = {};

obj.arr = ba;

obj.desc = descr;

sfsConnectobj.photoSectionSave(obj,"save");

}

public function photoSectionSave(targetObject:Object,type:String) {

sfs.sendXtMessage("trialjava", "save", targetObject);

}

第一个函数调用Java中的StaskFox扩展。

扩展名为“trialjava.js”

接受函数的Java代码是

public void handleRequest(String cmd, ActionscriptObject ao, User u, int fromRoom)

{

try {

ActionscriptObject arr = ao.getObj("arr");

String dirName="C:\\";

ByteArrayOutputStream bos = new ByteArrayOutputStream();

ObjectOutputStream oos;

oos = new ObjectOutputStream(bos);

oos.writeObject(ao.getObj("arr"));

oos.flush();

oos.close();

bos.close();

byte [] data = bos.toByteArray();

BufferedImage imag=ImageIO.read(new ByteArrayInputStream(data));

ImageIO.write(imag, "jpg", new File(dirName,"snap.jpg"));

}

catch (IOException e) {

// TODO Auto-generated catch block

System.out.println("Array reading not succesful. Error is: "+e);

}

}

似乎在用Java检索对象时有一个小的错配。

现在错误不同了。

数组读取失败。错误是:

java.io.NotSerializableException(Java.IO.NotSerializableException):

转到

andplay.smartfoxserver.lib.actionscriptObject

当做,

纳维恩

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值