我有一个接受图像并将其四舍五入的函数,如下所示:
public static Image roundImage(Image img) {
int width = img.getWidth();
Image roundMask = Image.createImage(img.getWidth(), img.getHeight(), 0xff000000);
Graphics gr = roundMask.getGraphics();
gr.setColor(0xffffff);
gr.fillArc(0, 0, width, width, 0, 360);
Object mask = roundMask.createMask();
img = img.applyMask(mask);
return img;
}
这对图像非常有用,但如果我将 FontImage
传递给它,该函数会抛出异常:java.lang.RuntimeException: Unsupported Operation
。如何检查屏蔽是否是受支持的操作?我想避免更改应用程序逻辑。
最佳答案
FontImage
是一个requiresDrawImage
,它是独一无二的。您可以分别使用 toImage()
或 toEncodedImage()
将其转换为常规图像甚至编码图像。
对于此用例,常规图像会更好/更快,因此 toImage()
应该效果最好。
关于codenameone - 在代号一中对图像应用蒙版的解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40163082/