繁体   English   中英

Java图像-“ 1对1”图像缩放

[英]Java Images - “1 to 1” image scaling

我希望测试游戏具有像素样式的外观,但是当我将其缩放到我希望它们以(50x50;图块的实际尺寸为16x16)进行显示时,它的外观看起来很难看不想拥有。

img = new Image("test.png").getScaledCopy(50,50);

测试图像的大小为16x16,我希望将其以50x50的大小显示,但要像1:1缩放一样,不要使用难看的平滑方法。

有点像沙盒游戏“我的世界”(Minecraft)中的方块砖等比显示的小得多,但它们并未“平滑”。

非常感谢您的帮助:)

在您的情况下,抗锯齿过滤器看起来很笨拙,因为您的图像非常小(16x16),并且仅将其放大了一点点(至50x50)。 在您的情况下,您可能想要更清晰的图像,因此您可能希望使用最近的邻居插值法,而不是内置的默认值(双线性或双三次,不一定完全确定这是默认值)。

Image original = …;
original.setFilter(Image.FILTER_NEAREST);
Image scaled = original.getScaledCopy();

因此,在您的情况下,它将类似于:

Image original;
Image scaled;
original = new Image("test.png");
original.setFilter(Image.FILTER_NEAREST);
scaled = original.getScaledCopy(50, 50);

请注意,这不是真正的“ 1:1”缩放比例,因为缩放比例系数不是整数比例(即:50/16并非整数的非十进制数字)。 如果要升级到64x64,则可以进行“ 1:1”缩放,因为16*k=64 ,其中k是整数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM