Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将小程序另存为图像_Java_Image_Applet - Fatal编程技术网

Java 将小程序另存为图像

Java 将小程序另存为图像,java,image,applet,Java,Image,Applet,所以我对applet不是很有经验,但我有一个applet,它可以根据用户输入绘制一些东西,将applet创建的内容保存为图像文件的最简单方法是什么?(最好在用户单击“applet”之后,再单击“save image”)我很确定Java库中不支持这一点。最有可能的是,您需要自己制作一个图像文件——为了简单起见,我们可以说是一个位图——然后迭代像素,并根据图像数据自己设置它们,或多或少地创建自己的渲染引擎 澄清一下,这意味着您必须保存用户的输入,并使用它来构建图像文件以及屏幕上的图像 下面是我的意思

所以我对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
循环迭代每个像素,对照您先前保存的用户输入检查每个像素,以查看该像素是否受到该输入的影响。我将在我的答案中添加一些伪代码,使其更清晰。