Java 将小程序另存为图像
所以我对applet不是很有经验,但我有一个applet,它可以根据用户输入绘制一些东西,将applet创建的内容保存为图像文件的最简单方法是什么?(最好在用户单击“applet”之后,再单击“save image”)我很确定Java库中不支持这一点。最有可能的是,您需要自己制作一个图像文件——为了简单起见,我们可以说是一个位图——然后迭代像素,并根据图像数据自己设置它们,或多或少地创建自己的渲染引擎 澄清一下,这意味着您必须保存用户的输入,并使用它来构建图像文件以及屏幕上的图像 下面是我的意思的一个伪代码示例:Java 将小程序另存为图像,java,image,applet,Java,Image,Applet,所以我对applet不是很有经验,但我有一个applet,它可以根据用户输入绘制一些东西,将applet创建的内容保存为图像文件的最简单方法是什么?(最好在用户单击“applet”之后,再单击“save image”)我很确定Java库中不支持这一点。最有可能的是,您需要自己制作一个图像文件——为了简单起见,我们可以说是一个位图——然后迭代像素,并根据图像数据自己设置它们,或多或少地创建自己的渲染引擎 澄清一下,这意味着您必须保存用户的输入,并使用它来构建图像文件以及屏幕上的图像 下面是我的意思
ArrayList rules; //records the user's inputs used to make the image
//e.g. "red line from pixel (3,5) -> (5,8)"
Image savedImage; //open an image file - make sure to set its dimensions to the
//dimensions of the image on-screen
for (x = 0 -> savedImage.width)
{
for (y = 0 -> savedImage.height)
{
for (r = 0 -> rules.size())
{
if (rules.get(r).affects(x,y)) //checking to see if this input
{ //affected this pixel
savedImage.pixelAt(x,y).apply(rules.get(r)); //if so, apply the rule's
//effect to this pixel
}
}
}
}
我很确定规则类和图像类必须由您自己创建,但它们应该不会太难创建
尽管我想指出,我假设您希望以编程方式执行此操作,以便在用户完成或用户告诉小程序保存图像时自动保存图像
我有一个小程序,可以根据用户输入绘制一些东西
让小程序改用现有的属性
applet需要使用applet可用的Java/JavaScript桥来操作承载它的web页面的文档对象模型
…将小程序创建的内容保存为图像文件的最简单方法是什么?(最好在用户单击“小程序”后,再单击“保存图像”)
如果浏览器支持保存Base64编码图像,则应自动提供该功能
当然,如果使用部署小程序,可以使用JNLPAPI的 那么,有没有其他方法可以让java创建一个图像并保存它呢?如果不是,这可能会有点困难。这应该不会太难-你已经有了用户输入实时影响屏幕上图像的部分,所以你需要做的就是创建一个具有正确尺寸的新文件,将用户输入保存为稍后可以读取的格式(例如,从像素中画红线)(253,221)到像素(321,883),并使用嵌套的for
循环迭代每个像素,对照您先前保存的用户输入检查每个像素,以查看该像素是否受到该输入的影响。我将在我的答案中添加一些伪代码,使其更清晰。