Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
使用Imagero Java库从网站读取图像_Java_Jsp_Image Processing - Fatal编程技术网

使用Imagero Java库从网站读取图像

使用Imagero Java库从网站读取图像,java,jsp,image-processing,Java,Jsp,Image Processing,从我到目前为止看到的教程和信息来看,Imagero只能从目录中读取图像。有人以前使用过Imagero库,并且知道它是否可以直接从url读取图像吗 此外,我正在尝试执行图像处理,例如在jsp页面中使图像变暗/变亮。imagero能帮我做到吗 我陷入困境,需要一些建议 Imagero:从URL下载图像不需要外部库;只需将其视为下载任何其他文件。幸运的是,ImageIO类提供了一个名为read(URL)的方法,可以找到该方法专门用于下载图像 至于修改BufferedImage,我建议通过宽度和高度(代

从我到目前为止看到的教程和信息来看,Imagero只能从目录中读取图像。有人以前使用过Imagero库,并且知道它是否可以直接从url读取图像吗

此外,我正在尝试执行图像处理,例如在jsp页面中使图像变暗/变亮。imagero能帮我做到吗

我陷入困境,需要一些建议


Imagero:

从URL下载图像不需要外部库;只需将其视为下载任何其他文件。幸运的是,ImageIO类提供了一个名为
read(URL)
的方法,可以找到该方法专门用于下载图像

至于修改
BufferedImage
,我建议通过宽度和高度(代表x和y)循环,获得行、列处每个像素的RGB,并修改颜色,使用设置该位置的颜色

我可以用两种不同的方法使图像变暗:一种方法是循环通过每个x、y并使每个单独的颜色变暗,另一种方法是在图像上画一个半透明的屏幕,两种方法如下所示:

public void darken(final BufferedImage image){
    for(int x = 0; x < image.getWidth(); x++)
        for(int y = 0; y < image.getHeight(); y++)
            image.setRGB(x, y, new Color(image.getRGB(x, y)).darker().getRGB());
}

public void darken(final BufferedImage image, final int intensity){
    assert intensity >= 0 && intensity <= 255;
    final Graphics g = image.getGraphics();
    g.setColor(new Color(0, 0, 0, intensity));
    g.fillRect(0, 0, image.getWidth(), image.getHeight());
    g.dispose();
}
public void变暗(最终缓冲区图像){
对于(int x=0;xassert intensity>=0&&intensity正如Josh M所说,在Java中从URL读取图像的最简单方法可能是使用
ImageIO.read(URL)

然而,使图像变暗或变亮的“Java方法”(一种
BuffereImage
)是使用Chet Haase和Romain Guy的优秀教程
RescaleOp


RescaleOp
是高度优化的,在大多数平台上使用本机代码,因此它肯定比在Java中循环通过每个像素要快。

所以实际上我不必使用Imagero库来执行增强?有没有任何指南教给我例如…使图像变暗,我应该为RGB设置什么?@user2707516,要使图像变暗,您只需获取x,y处的颜色,并在颜色上调用
darker()
,然后将较暗的颜色设置为x,y。当我可以访问笔记本电脑时,我将提供一个代码示例。