java9新特性-14-多分辨率图像 API

1.官方Feature

251: Multi-Resolution Images

263: HiDPI Graphics on

Windows and Linux



2.产生背景

在Mac上,JDK已经支持视网膜显示,但在Linux和Windows上,它并没有。在那里,Java程序在当前的高分辨率屏幕上可能看起来很小,不能使用它们。这是因为像素用于这些系统的大小计算(无论像素实际有多大)。毕竟,高分辨率显示器的有效部分是像素非常小。

JEP 263以这样的方式扩展了JDK,即Windows和Linux也考虑到像素的大小。为此,使用比现在更多的现代API:Direct2D for

Windows和GTK +,而不是Xlib for Linux。图形,窗口和文本由此自动缩放。

JEP 251还提供处理多分辨率图像的能力,即包含不同分辨率的相同图像的文件。根据相应屏幕的DPI度量,然后以适当的分辨率使用图像。



3.使用说明

新的API定义在java.awt.image包下

将不同分辨率的图像封装到一张(多分辨率的)图像中,作为它的变体

获取这个图像的所有变体

获取特定分辨率的图像变体-表示一张已知分辨率单位为DPI的特定尺寸大小的逻辑图像,并且这张图像是最佳的变体。

基于当前屏幕分辨率大小和运用的图像转换算法,java.awt.Graphics类可以从接口MultiResolutionImage获取所需的变体。

MultiResolutionImage的基础实现是java.awt.image.BaseMultiResolutionImage。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是DPI、PPI? DPI(Dots Per Inch)是测量空间点密度的单位,最初应用于打印技术中,它表示每...
    读品走思阅读 3,818评论 0 5
  • 大家好,我是IT修真院郑州分院第一期的学员胡嘉杰,一枚正直纯洁善良的WEB前端程序员。今天给大家分享一下,修真院官...
    ithinker5阅读 8,261评论 0 0
  • HI~你好吗, 今天是2017年的最后一天,这一年感觉怎样?我知道,你会说:“还好”。就像你对大多数人和事的看法一...
    四日阅读 148评论 0 0
  • 某一天,你的耳边不再有人说着关心的话语。不再有人固执的说自己永远是正确的,不再有人孩子式的对你发脾气。不再有人和你...
    矜逝阅读 319评论 0 1