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