java applet截图_如何将图像从Java Applet发送到JavaScript?

博客讲述了如何在JavaApplet中处理图像,将BufferedImage对象转换为Base64字符串,以便在不实际保存客户端文件的情况下,将其数据插入数据库。作者分享了将图像数据转换为Base64编码的代码片段,并提到这个过程对于从签名板获取矢量数据并将其以非文件形式存储是重要的。
摘要由CSDN通过智能技术生成

我有一个生成图像的Java

Applet。最终,我想将图像数据插入数据库中,因此我想将图像数据临时存储在包含小程序的页面上的表单字段中。我希望在不将图像文件存储在客户端计算机上的情况下执行此操作。

所有这些都来自签名板。这是一些应该从sigObj对象中存储的矢量数据生成位图图像的代码:

sigObj.setImagePenWidth(10);

sigObj.setImageXSize(1000);

sigObj.setImageYSize(350);

image = sigObj.sigImage();

image变量是BufferedImage对象。另外,如果我只是将图像变量发送回我的JavaScript,这是警报输出:

BufferedImage@fe748f: type = 5

ColorModel: #

pixelBits = 24

numComponents = 3

color space = java.awt.color.ICC_ColorSpace@641e9a

transparency = 1

has alpha = false

isAlphaPre = false

ByteInterleavedRaster: width = 1000 height = 350 #

numDataElements 3

dataOff[0] = 2

(添加了换行符以提高可读性)

是否可以将图像本身发回?有什么建议?

我对Java不太了解,因此如果我问一个愚蠢的问题,我深表歉意。

谢谢。

编辑:

根据BalusC的建议,这是我用来将图像转换为任何可能好奇的人的Base64字符串的代码:(img是BufferedImage,dataImg是String)

import org.apache.commons.codec.binary.Base64;

...

try{

ByteArrayOutputStream baos = new ByteArrayOutputStream();

ImageIO.write(img, "BMP", baos);

byte[] bytes = baos.toByteArray();

dataImg = new Base64().encodeBase64String(bytes);

} catch(Exception e) {}

这使用Apache Commons

Codec进行Base64编码。也许这是微不足道的,但这对我来说是新的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值