java - 为什么我现有的图像不会绘制到屏幕上?

标签 java graphics bufferedimage

基本上是这样的,我试图从项目中的源文件加载图像,但是每当我运行代码时什么也没有发生。

任何人都可以阐明我出错的地方,以及如何让它正确绘制吗?

代码如下:

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;


public class EnterTile extends Tile {

public EnterTile() {
    setTile();
}

public void setTile() {

    try {
        BufferedImage img = ImageIO.read(new File("res\\BrokenFenceSwamp.gif"));
        Graphics g = img.getGraphics();
        g.drawImage(img, 1000, 1000, 8, 8, null);
    } catch (IOException e) {
        System.out.println("Error " + e);
    }
}

public static void main(String args[]) {
    EnterTile enterTile = new EnterTile();


}



}

感谢您花时间阅读本文。

最佳答案

获取图像的图形是一种能够在图像上绘图的工具:

    BufferedImage img = ImageIO.read(new File("res\\BrokenFenceSwamp.gif"));

    Graphics g = img.getGraphics();
    g.drawString(img, 100, 100, "Hello World!");
    g.dispose();

    ImageIO.write(new File("res/TitledBFS.gif"));

它不会在屏幕上绘制。 图形可以是内存(此处)、屏幕或打印机。

要在屏幕上绘图,需要创建一个没有标题和边框的全屏窗口,然后在其背景上绘制图像。

这需要熟悉 swing 或较新的 JavaFX。

关于java - 为什么我现有的图像不会绘制到屏幕上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33894931/

相关文章:

java - 如何在具有不同键的外部 hashMap 中传递具有相同键的内部 hashMap?

wpf - 是否曾在 WPF 或 Silverlight 中做过布料模拟?

javascript - Raphaël 图形库中的圆圈和点击事件

java - 在 Java 中打印 BufferedImage

java - 为什么 BufferedImage 的初始化速度比 Image 快

用于生成 vsd 或 vdx 文件的 Java API

java - 使用 spring-boot 在库中设置默认属性

java - 错误 : No resource identifier found for attribute 'onTouch' in package 'android'

c - 无法渲染颜色立方体

java - BufferedImage 用透明像素填充矩形