【问题标题】:JavaFX 11-13: How to render pixels without Screen HiDpi Scaling?JavaFX 11-13:如何在没有屏幕 HiDpi 缩放的情况下渲染像素?
【发布时间】:2019-11-12 13:16:02
【问题描述】:

如何避免图像的所有向上/向下缩放?由于 windows 屏幕缩放信息,我检查的所有变体都会导致一些缩放。

动机 我有一些渲染器,可以从文档(svg、pdf 等)中创建一定大小的图像。这些图像在被 JavaFX 放大后会变得模糊。我没有找到摆脱它的方法。

  • 在 Swing 中,解决方案是使用 AbstractMultiResolutionImage。但这不适用于 JavaFX。
  • 我无法使用 ImageLoader,因为我有多页文档
  • 为视网膜显示引入的 x2 文件名后缀调整不起作用,因为我没有文件名,并且比例因子可能不同于 100% 和 200%

【问题讨论】:

    标签: image javafx blurry highdpi


    【解决方案1】:

    我不知道这是否是您的意思,但您可以尝试使用 JavaFX 的 @2x 机制。基本上,这将允许您提供不同分辨率的图像,因此不必放大它们。如果您提供两个图像,例如myicon.pngmyicon@2x.png,并通过其基本名称myicon.png 访问它,那么JavaFX 将自动为您的屏幕选择具有最佳分辨率的图像。 https://dlsc.com/2017/08/29/javafx-tip-27-hires-retina-icons/

    【讨论】:

    • 感谢您的回答。不幸的是,这是为 macOS 设计的,因为有 200% 的比例因子。在 Windows 中,您有更多的步数(例如 125%)。此外,这仅适用于通过文件名访问的预渲染文件。就我而言,我有一个渲染算法,可以即时创建图像。
    猜你喜欢
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    相关资源
    最近更新 更多