JDK-8211861 : ImageView.setSmooth(false) does not work
Type:Bug
Component:javafx
Sub-Component:graphics
Affected Version:8u60,9,10,openjfx11
Priority:P4
Status:Open
Resolution:Unresolved
OS:generic
Submitted:2018-10-08
Updated:2020-06-24
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
Prism always does smooth (bilinear) filtering when scaling an image in an ImageView.
ImageView.setSmooth(false) does not disable the smoothing.
Comments
I see, thanks for the rundown.
08-10-2018
[~nlisker] The short answer is "partially".
In the past, the issues surrounding ImageView smoothing have conflated two different aspects of filtering:
1. The filtering of the image when scaling the image up or down, either via the fitWidth/fitHeight properties or via a transform in the scene graph.
2. Antialiasing the edges of the rectangle on which the image is mapped as that rectangle is rotated.
Item #1 is now being tracked by this issue (JDK-8211861). Currently we always apply bilinear filtering when scaling the image. While technically not in violation of the spec, since smooth is a hint, we still should honor the request to turn off smoothing where possible. This would be a "nice to have" for openjfx12, and shouldn't be hard to do, but isn't currently targeted to 12. Btw, we are working on a similar issue to control the filtering when drawing images into a Canvas node (as an RFE, since there is no existing API; see JDK-8204060).
Item #2 is an RFE that is tracked by JDK-8090349, which includes the background information on the problem. We are unlikely to work on that one.
08-10-2018
Is this a plan to finally address JDK-8109579, JDK-8107699 and JDK-8127343?