Могу ли я назначить градиент изображения прямоугольнику - PullRequest
0 голосов
/ 24 мая 2019

В настоящее время я делаю Марио школьным графическим проектом.

Я выполнил большинство столкновений, но я просто хочу, чтобы земля и кирпичи действительно выглядели как земля и кирпичи, а не только цветные прямоугольники. У меня есть ImageIcon для «земли» в моем графическом проекте. Проблема в том, что он размером всего 16x16 пикселей. Чтобы сделать достаточно земли, просто сделав каждую часть земли одним пикселем 16x16, это было бы ужасно неэффективно.

Мне было интересно, смогу ли я получить ImageIcon или, возможно, буферизованное изображение и использовать его в качестве «цвета» для прямоугольника, чтобы облегчить куски земли. Если это невозможно, можете ли вы предложить другие варианты решения этой проблемы?

1 Ответ

0 голосов
/ 27 мая 2019

Использование фона плиточных изображений, текстура:

private BufferedImage image;

    URL url = getClass().getResource("/mytexture.png");
    assert url != null;
    image =  ImageIO.read(url);

@Override
public void paintComponent(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    Rectangle rect = new Rectangle(0, 0, width, height);
    Rectangle textureRect = new Rectangle(0, 0, image.getWidth(), image.getHeight());
    TexturePaint paint = new TexturePaint(image, textureRect);
    g2.setPaint(paint);
    g2.fill(rect);        
}

В общем, создайте свою собственную JPanel.

Gimp и другие инструменты позволяют создавать наклоняемое изображение, гарантируя, что линия, проходящая к границе, войдет в противоположную границу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...