【发布时间】:2018-03-26 06:12:31
【问题描述】:
我有一个enum,有两种颜色代表on 和off 像素,一种是浅灰色,另一种是深灰色:
enum class Pixel(val state: Color) {
ON (Color(200, 200, 200)),
OFF(Color(50, 50, 50))
}
现在我有一个自定义的Image 对象,它对应于磁盘上的实际图像和img[x, y](ergo get/set 方法)要么返回一个Color 对象对应的颜色图像中位置 x,y 处的像素或接受将像素设置为该颜色的 Color 对象。所以img[x, y] = Color(50, 50, 50) 完美运行。
我希望能够做到image[x,y] = Pixel.ON/OFF 但ON 和OFF 显然属于Pixel 类型。
如何达到我想要的效果,能做到image[x,y] = Pixel.ON/OFF?我已经使用 ON/OFF 作为“静态”成员使用伴生对象使其工作,但必须有一种更漂亮、更优雅的方式来做到这一点。
【问题讨论】: