Java图形2D。在视网膜显示器上绘制缩放图像

Java图形2D。在视网膜显示器上绘制缩放图像,java,awt,retina-display,graphics2d,Java,Awt,Retina Display,Graphics2d,我正在创建一个64x64像素的VolitileImage,在上面绘制一些图像和形状(使用drawImage,fillRect等),然后我想将此图像拉伸到640x640像素。我希望看到由10x10屏幕像素组成的64x64矩阵。这就是我在非视网膜显示器上看到的。但当我在视网膜显示器上尝试时,我实际上看到了128x128的5x5正方形矩阵 下面是我要说的: 有没有办法“关闭”这种行为?因为我需要的是显示64x64图像拉伸10次 UPD: 添加可编译的示例: 在64x64图像中,每个巴拉克和白点为1个

我正在创建一个64x64像素的VolitileImage,在上面绘制一些图像和形状(使用
drawImage
fillRect
等),然后我想将此图像拉伸到640x640像素。我希望看到由10x10屏幕像素组成的64x64矩阵。这就是我在非视网膜显示器上看到的。但当我在视网膜显示器上尝试时,我实际上看到了128x128的5x5正方形矩阵

下面是我要说的:

有没有办法“关闭”这种行为?因为我需要的是显示64x64图像拉伸10次

UPD: 添加可编译的示例:

在64x64图像中,每个巴拉克和白点为1个像素。注意常规显示和视网膜之间的区别:


为了获得更好的帮助,请尽快发布一个SSCCE/MCVE,简短、可运行、可编译,出于某种原因,至少对于浏览器而言,当您希望在视网膜显示器上显示x b大小的图像时,你应该以2a x 2b的尺寸显示它。@LajosArpad有什么建议吗?红色圆圈图像的右半部分只有在以双分辨率绘制的情况下才能显示出来;因此,我得出结论,是您对VolatileImage的使用导致了这些工件。改用BuffereImage。我会避免VolatileImage带来的额外复杂性,直到您真正遇到实际的性能问题。BuffereImage可能是硬件加速的(请参阅)。BuffereImage继承此方法。根据您最终想要执行的操作,将图像放大一次并使用放大版本填充窗口(如果可以多次重复使用放大版本)可能是有利的。