在JavaFX中绘制子像素?
对于我正在尝试创建的JavaFX图形程序,我希望能够将每个像素划分为4个子像素并绘制它们。这在JavaFX(或任何其他Java图形库)中可能吗?JavaFX在使用时将为文本呈现子像素 据我所知,JavaFX中没有任何机制可以指定使用文本以外的任何其他图形原语(例如直线和圆)在JavaFX中绘制子像素?,java,javafx,graphics,javafx-2,javafx-8,Java,Javafx,Graphics,Javafx 2,Javafx 8,对于我正在尝试创建的JavaFX图形程序,我希望能够将每个像素划分为4个子像素并绘制它们。这在JavaFX(或任何其他Java图形库)中可能吗?JavaFX在使用时将为文本呈现子像素 据我所知,JavaFX中没有任何机制可以指定使用文本以外的任何其他图形原语(例如直线和圆) 即使不能为其他基本体指定渲染类型,也可以使用或不使用亚像素渲染来渲染它们(我不知道,但我猜即使使用渲染基本体,也不会使用亚像素渲染) JavaFX在使用时将为文本呈现子像素 据我所知,JavaFX中没有任何机制可以指定使用文
即使不能为其他基本体指定渲染类型,也可以使用或不使用亚像素渲染来渲染它们(我不知道,但我猜即使使用渲染基本体,也不会使用亚像素渲染) JavaFX在使用时将为文本呈现子像素 据我所知,JavaFX中没有任何机制可以指定使用文本以外的任何其他图形原语(例如直线和圆)
即使不能为其他基本体指定渲染类型,也可以使用或不使用亚像素渲染来渲染它们(我不知道,但我猜即使使用渲染基本体,也不会使用亚像素渲染) 是的,你可以。默认情况下,如果在画布上绘制一个整数像素,它将在实际屏幕像素之间绘制一个点,即它将与相邻像素反锯齿。如果偏移0.5,则它将精确绘制在像素上。因此,可以使用介于0.5和1.5之间的值绘制子像素。例如,如果绘制一条Y1=100.5和Y2=101.5的水平线,则会在两者之间看到抗锯齿。您还可以将线宽设置为非整数,在这种情况下,它将使像素变暗或抗锯齿适当的量。我不确定FontSmoothing,但这是canvas GraphicsContext的一部分。是的,您可以。默认情况下,如果在画布上绘制一个整数像素,它将在实际屏幕像素之间绘制一个点,即它将与相邻像素反锯齿。如果偏移0.5,则它将精确绘制在像素上。因此,可以使用介于0.5和1.5之间的值绘制子像素。例如,如果绘制一条Y1=100.5和Y2=101.5的水平线,则会在两者之间看到抗锯齿。您还可以将线宽设置为非整数,在这种情况下,它将使像素变暗或抗锯齿适当的量。我不确定FontSmoothing,但这是canvas GraphicsContext的一部分。根据定义,像素不是原子的吗?@Carcigenicate,感谢您花时间发布。我已经读到,在OpenGL和Python中可以进行亚像素操作,但我不确定JavaFX。你想将图像缩放到因子2吗?@carignicate。根据定义,像素不是原子的吗?@Carcigenicate,谢谢你花时间发布。我已经读到,在OpenGL和Python中可以进行亚像素操作,但我不确定JavaFX。你想将图像缩放到因子2吗?@carigencate。谢谢你的回答。我将尝试找到另一种方法来做我想做的事情,而不必操纵亚像素。谢谢你的回答。我将尝试找到另一种方法来做我想做的事情,而不必操纵亚像素。嗯,好吧,重读亚像素渲染的真正含义,我在绘制线条时没有遇到JavaFX。我只见过大概是常规的抗锯齿。嗯,好吧,重读亚像素渲染的真正含义,我在绘制线条时没有见过JavaFX。我大概只遇到过常规的抗锯齿。