Прежде чем я успел изменить его размер, Я заметил, что рисование пиксельного изображения в его исходном разрешении вызывало некоторые странные искажения, и я не знаю, почему и как это остановить. Я определенно не изменяю размер изображения и обязательно изменил RenderingHints на ближайший_сосед. Есть ли что-то, чего мне не хватает? Я даже загрузил файл, а затем сохранил его как новый файл, используя:
Код: Выделить всё
File outputfile = new File("image.png");
ImageIO.write(bufferedImage, "png", outputfile);
Код: Выделить всё
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class test extends JPanel {
private BufferedImage sprite;
public test() {
try {
sprite = ImageIO.read(new File("floor.png"));
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(sprite, 10, 10, null);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
test sp = new test();
frame.add(sp);
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
Вот то, что я ожидаю: https:/ /i.sstatic.net/8ilSr.png
Подробнее здесь: https://stackoverflow.com/questions/783 ... ize-causes
Мобильная версия