我有一张图片,我希望从图像中获取像素颜色。像这样:
image.getPixel(100,100).Color
是否可以在 Vaadin ?
答案 0 :(得分:1)
如果您确定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 ie)我强烈建议基于GWT Image编写自定义Vaadin组件,该组件在向用户显示内容之前将链接/资源/文件/图像转换为BufferedImage。因此,每次需要时,您都可以从自定义组件中实际获取BufferedImage。