【问题标题】:Java padding imageJava 填充图像
【发布时间】:2011-08-15 17:24:03
【问题描述】:

我正在创建一个在线图像编辑工具。寻找一些参考如何在右侧添加带有空白的图像。例如看到这个图像

【问题讨论】:

    标签: java image-processing image-editing


    【解决方案1】:

    新建一个大小合适的BufferedImage对象;使用Graphics.fillRect() 将其涂成白色;使用drawImage() 将图像绘制到左上角;然后保存您的新图像。

    【讨论】:

      【解决方案2】:

      大概,您想从现有图像创建一个新图像,其中新图像左右有空白?

      假设未填充的图像是 BufferedImage 并且称为“图像”。假设你想要的每一边的空白量是'w'。你要做的是创建一个比原来更宽的新 BufferedImage,然后将整个东西涂成白色,最后在其上绘制较小的图像:

      BufferedImage newImage = new BufferedImage(image.getWidth() + 2 * w, image.getHeight(), image.getType());
      
      Graphics g = newImage.getGraphics();
      
      g.setColor(Color.white);
      g.fillRect(0, 0, image.getWidth() + 2 * w, image.getHeight());
      g.drawImage(image, w, 0, null);
      g.dispose();
      

      【讨论】:

        【解决方案3】:

        如果有人遇到类似问题,我强烈推荐imgScalr。您可以使用一行 imageSource= Scalr.pad(imageSource,pad,Color.White); 添加填充。

        【讨论】:

        • 感谢您的精彩提示!
        • imgScalr 似乎是一个不错的库,但我看不出有任何方法可以只填充 2 个边框(即左右边);填充总是添加到所有 4 个边框。当然,您可以在之后进行裁剪以去除上下边框的填充,但这不是很干净和可读。
        猜你喜欢
        • 2017-05-28
        • 2016-08-18
        • 2011-09-21
        • 1970-01-01
        • 1970-01-01
        • 2013-11-05
        • 2011-03-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多