当前位置: 首页 > 知识库问答 >
问题:

如何在固定尺寸的画布上显示整体图像?

田瀚
2023-03-14

我正在使用以下代码

private void displayImage(File file) {

    try 
    {
        BufferedImage image = ImageIO.read(file);
        ta.Picture = image;
    }
    catch (Exception e) 
    {}

    Graphics g = ta.imageCanvas.getGraphics();
    g.clearRect(0, 0, 300, 300);
    g.drawImage(ta.Picture, 00, 00, this);

} // displayImage

public void valueChanged(TreeSelectionEvent e) 
{
    // TODO Auto-generated method stub
    FileTreeNode node = (FileTreeNode) tree.getLastSelectedPathComponent();

    if (node.isLeaf()) 
    {

        currentFile = node.file;

        File ff = new File("F:/images_blue/" + currentFile.getName());
        displayImage(ff);

    } else
        currentFile = null;

}

共有1个答案

郎琪
2023-03-14

我只想指出...

Graphics g = ta.imageCanvas.getGraphics();
g.clearRect(0, 0, 300, 300);
g.drawImage(ta.Picture, 00, 00, this);

真是个坏主意。

getGraphics可能返回null并且充其量只是上次重新绘制周期的快照,在下一个绘制周期可能会被无效或取消引用。

    null
 类似资料:
  • 本文向大家介绍固定的外框尺寸,里面的图片尺寸不固定,如何让图像自适应外框呢?相关面试题,主要包含被问及固定的外框尺寸,里面的图片尺寸不固定,如何让图像自适应外框呢?时的应答技巧和注意事项,需要的朋友参考一下 使用 ,用法类似,可选的值:、、等

  • 问题内容: 我在不知道相应图像的宽度/高度的情况下将标签放入文档中: 我想使用CSS将图像缩放到其“本机”大小(基础图像的大小)的一半。我不知道该怎么做。 使用将相对于包含块而不是图像的大小。 我无法调整为特定的像素宽度,因为我不知道图像的尺寸。 由于我只需要支持WebKit,因此我尝试使用转换: 这样可以很好地调整图像,但不会调整图像元素本身的大小。 @Radagaisus建议使用Javascr

  • 有人知道JavaFX中画布的最大尺寸吗?从一些测试中,它接缝为8192(与IE相同),在我看来,这很奇怪。也许,可以修改吗?

  • 问题内容: 嗨,我正在编写图形程序,我一直在寻找一种获取所使用屏幕物理尺寸的方法。我可以获得以像素为单位的屏幕大小以及逻辑分辨率。我似乎找不到任何地方可以获取任何显示器规格中始终具有的物理尺寸(例如19“-376 x 301 mm)。问题是,加载此信息时,此信息是否甚至还存储在OS中的任何位置?我正在编写的程序需要在Mac和Windows上运行。 谢谢! nt 问题答案: 我认为Java不可能实现

  • 基于我在画布上使用的代码和截图,我试着填充一个红色的矩形,但是没有效果。如何才能确保只填充最上面一行左起第二个矩形?

  • 前言 使用 RT-Thread-Studio 进行工程构建时,为了实现业务需求,我们常常会增加驱动文件、组件或者软件包等等,并且在调试代码时也可能需要使能调试相关的功能(例如打开 ulog 功能 )或者自行打印一些调试的信息。因此,我们会编译得到一个稍微冗余的固件。对于 MCU 的 Flash 比较紧张时,我们需要考虑代码体积的优化,使其尽量精简,这样的代码在之后的迭代开发中才可以实现小而美的目标