【发布时间】:2014-12-06 11:45:38
【问题描述】:
我有一张图片,我想从图片中获取像素颜色。像这样的:
image.getPixel(100,100).Color
在Vaadin中可以吗?
【问题讨论】:
我有一张图片,我想从图片中获取像素颜色。像这样的:
image.getPixel(100,100).Color
在Vaadin中可以吗?
【问题讨论】:
如果你确定 com.vaadin.ui.Image.getSource() 方法会返回一个 FileResource 你可以使用这个代码
FileResource resource = (FileResource) image.getSource();
File file = resource.getSourceFile();
BufferedImage img = ImageIO.read(file);
img.getRGB(0,0);
方法 BufferedImage.getRGB() 返回表示 rgba 颜色的整数。您可以使用Stack Overflow answer 中提供的方法提取红色、绿色、蓝色和 Alpha 值。
假设其他情况(getSource() 返回 ExternalResource 即)我强烈建议编写基于 GWT Image 的自定义 Vaadin 组件,在向用户显示内容之前将链接/资源/文件/图像转换为 BufferedImage。因此,您将能够在每次需要时从您的自定义组件中实际获取 BufferedImage。
【讨论】: