在一个独特的图像java中收集图像

时间:2017-05-05 09:29:17

标签: java

我需要一个信息:我必须为我大学的舞台做一个项目。我的程序允许我发现圆形运动的图像。我有很多图像应该收集在一个独特的“长”图像,黑色边缘。有可能吗?

我搜索了其他主题,但它们仅适用于iOs或html。我的应用程序是一个将在pc上使用的java应用程序。

抱歉英文不好

谢谢,Elia。

an example of the result

1 个答案:

答案 0 :(得分:0)

使用dogbane's answer

您可以轻松调整代码以完成您想要的操作。

使用Graphics.fillRect创建一个矩形。只需要将颜色设置为黑色,但您需要在代码中管理高度和宽度。

cookie

您会看到一个localhost:1234/foo?stuDataCode=1234g.setColor(Color.BLACK); //Black rectangle on the left edge g.fillRect(x, y, rectWidth, rectHeight); x += rectSize; for(String image : images){ BufferedImage bi = ImageIO.read(new File(image)); g.drawImage(bi, x, y, null); x += bi.getWidth(); //Black rectangle on the right g.fillRect(x, y, rectWidth, rectHeight); x += rectSize; } 来生成黑色方块。你有两个解决方案,

  1. 自己设置(您从批处理中提供的参数)
  2. 首先迭代图像以获得该批次的最大高度(仔细检查性能)
  3. 注意:

    1. 为了改善这一点,如果图像具有不同的尺寸,您可能希望将图像居中...这将需要somt更新以在上方和下方添加黑色方块。但这是一个很好的练习;)
    2. 默认背景为黑色,因此您不需要为黑色背景创建填充矩形(默认字节为0,因此黑色#000000)
    3. Stangely,Windows XP告诉我PNG无效,但在Seven上工作正常,可能需要对此进行调查。
    4. 更新:

      由于我们在开始时需要结果图像的高度和宽度(虽然不是这样),我们回答一些问题

      1. 很容易更新背景颜色,以免以后再烦恼(在开头绘制完整的图像)
      2. 我们强制首先迭代图像以做宽度的总和
      3. 我们可以在同一时间获得最大高度