0 0

Java Swing中图片缩放问题5

近几天在研究用swing来做图片的缩放和切分,调试中出现过一些比较奇怪的问题,下面这个问题一直未能解决,代码如下:
this.baseImage = image;
		Image temp = baseImage.getScaledInstance(300, 300, Image.SCALE_SMOOTH);
		button.setSize(new Dimension(50,50));//**
		button.setIcon(new ImageIcon(temp));//**
		this.bufferedImage = new BufferedImage(300,300,BufferedImage.TYPE_INT_RGB);
		this.bufferedImage.getGraphics().drawImage(temp, 0, 0, null);
		try {
			ImageIO.write(bufferedImage, "JPG", new File("D:/test1.jpg"));
		} catch (IOException e) {
			e.printStackTrace();
		}

其中,image是通过new ImageIcon(BundleImage.class.getResource(name)).getImage()来获取的,并传递过来。
现在的问题是,如果去掉后面标有“//**”的两行代码之后,输出的图片都是黑的,加上这两句图片就能正常出来。对底层代码不太了解, 希望大拿们能给予些支持与指导,先谢谢各位了。
2013年10月11日 20:47

2个答案 按时间排序 按投票排序

0 0


发现一个好的例子

Java等比例缩放并压缩图片

2016年4月27日 10:07
0 0

图片没有加载完毕

引用
public Image getScaledInstance(int width,
                               int height,
                               int hints)创建此图像的缩放版本。返回一个新的 Image 对象,默认情况下,该对象按指定的 width 和 height 呈现图像。即使已经完全加载了初始源图像,新的 Image 对象也可以被异步加载。


因为是异步加载,注释掉的代码正好是可以完整加载图片的

2013年10月12日 10:49

相关推荐

    java Swing读取图片

    本篇文章将详细讲解如何在Java Swing中读取和显示图片,以及与之相关的知识点。 首先,我们需要了解Java中的图像处理类。`java.awt.Image`类是表示图像的基本类,它提供了加载、显示和操作图像的方法。而`javax....

    JAVA实现的图片大小随意拉动调整

    本示例中的"JAVA实现的图片大小随意拉动调整"着重讲解了如何利用Swing来实现图片的动态缩放功能,让用户可以自由调整图片的大小。这个功能在很多应用中都非常实用,比如图像查看器、编辑器或者任何需要展示可调整...

    Swing控件(JPanel,Container等)设置背景图片

    在Java的Swing库中,JPanel和Container是两种重要的组件,它们被广泛用于构建图形用户界面(GUI)。Swing提供了丰富的功能,包括允许开发者为这些组件设置自定义的背景图片,以提升应用的视觉效果。这篇博文主要讨论...

    java-Swing-PHOTO.zip_java swing相册_图片管理

    在描述中提到的"实现图片浏览功能"意味着这个应用可能具备了图片的加载、显示、切换以及可能的缩放和旋转等功能。文件列表中提到的 "PicSys.jar" 可能是这个应用的可执行文件,而 "PicSys" 文件可能是源代码或者配置...

    Java Swing 连连看游戏完整源码 素材.zip

    在这个"Java Swing 连连看游戏完整源码 素材.zip"压缩包中,包含了使用Java Swing编写的连连看游戏的全部源代码和相关素材,方便开发者学习和研究游戏开发。 连连看,又称为对对碰,是一种广受欢迎的消除类休闲游戏...

    java swing 特效

    10. **图标和图像处理**:Swing允许使用 ImageIcon 显示图像,通过Java2D API可以对图像进行缩放、裁剪、旋转等处理,用于创建动态图标或背景图片。 总的来说,Java Swing特效的实现需要对Swing组件、事件处理、...

    Vector-Based-Drawing-Application-master_javaswing_JAVASWING画图_dr

    在"Vector-Based-Drawing-Application-master_javaswing_JAVASWING画图_dr"这个项目中,开发者利用Java Swing来创建一个类似于Windows画图的简单应用程序。以下是对该项目中涉及的主要知识点的详细解释: 1. **Java...

    JavaSwing图片查看器源码

    在这个"JavaSwing图片查看器源码"项目中,我们看到的是一个基于Swing构建的简单图片查看器应用。这个程序能够让用户浏览和操作图像,是学习Swing组件和事件处理的一个好例子。以下是关于这个主题的一些关键知识点: ...

    java_picture.zip_JAVA 图片浏览_java swing picture_java 图片_java_pictu

    标题中的"java_picture.zip"是一个Java项目,主要目标是实现图片浏览功能,同时具备在图片上绘制规则几何图形的能力。这个项目可能是一个基于Java Swing库的桌面应用,因为"java_swing_picture"标签暗示了使用Swing...

    java实现图片中心放大、缩小、移动、鼠标拖移

    首先,我们需要理解Java中的Swing或JavaFX库,这两个库提供了丰富的组件和工具来创建图形界面。 1. **Swing组件**: Swing是Java的标准GUI库,它包含了一个名为`javax.swing.ImageIcon`的类,可以用来加载和显示...

    java3d和Swing结合示例

    下面将详细介绍如何将Java3D与Swing结合,以及在示例中涉及的关键知识点。 1. **Java3D基础**: Java3D提供了一种编程模型,用于构建和操作3D对象。它基于OpenGL,但使用更高级别的API,使得开发者无需深入理解...

    修改Javaswing窗体图标.pdf

    在 Java Swing 中,修改窗体图标可以使用两种方法:使用 Toolkit 类和使用 ImageIcon 类。 方法一:使用 Toolkit 类 使用 Toolkit 类可以非常方便地修改窗体图标。首先,我们需要获取默认的 Toolkit 对象,然后...

    java绘图 图片缩放 实例代码

    以上就是使用Java AWT进行图片缩放的基本步骤。在实际应用中,可能还需要考虑性能优化、异常处理以及支持不同格式的图片文件等细节。通过调整缩放算法和质量参数,我们可以获得更高质量的缩放结果。学习和掌握这些...

    Java Swing实现窗体添加背景图片的2种方法详解

    由于是在JPanel的绘制阶段处理,所以不会影响到布局管理器的功能,可以支持窗体大小变化时的背景图片缩放。 以下是一个完整的示例,展示了如何在JFrame中使用这两种方法: ```java public class ImageFrame ...

    基于java Swing 拼图小游戏项目

    **基于Java Swing拼图小游戏项目详解** 在Java编程领域,Swing库是用于构建桌面应用程序的一个强大工具。这个“基于Java Swing拼图小游戏项目”利用了Swing的组件和事件处理机制,为用户提供了趣味盎然的拼图游戏...

    java Swing方式预览海康视频.rar

    本项目"java Swing方式预览海康视频.rar"就是基于Swing设计的,主要用于实现海康摄像头的视频预览以及云台控制功能,适合进行视频预览测试或集成到其他项目中。 首先,我们来了解一下海康视频预览的关键技术点: 1...

    Java+Swing可视化图像处理软件(高分期末大作业)

    Java+Swing可视化图像处理软件(高分期末大作业)已获导师指导并通过的95分的高分期末大作业项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能...

    浅析Java swing组件窗体设计.pdf

    本文将分析Swing中窗体设计的组件和方法,从JFrame和JPanel这两个核心组件出发,探讨如何添加背景色、设置窗体大小和可见性以及如何在窗体中添加背景图片。 首先,JFrame是Swing中最常用的容器之一,它代表了一个...

    基于Swing的图片浏览器源运行例子

    这个"基于Swing的图片浏览器源运行例子"是《疯狂Java实战演义》一书中第三章的一个实践项目,旨在帮助读者深入理解如何利用Swing来创建一个功能完备的图片查看器应用程序。以下是对这个案例的详细解析: 首先,...

    基于Java Swing窗体设计的连连看小程序

    在“基于Java Swing窗体设计的连连看小程序”这个项目中,开发者利用Swing的组件和API来构建了一个经典游戏——连连看的界面和逻辑。Swing提供了一系列预定义的组件,如按钮、文本框、面板等,使得开发者可以方便地...

Global site tag (gtag.js) - Google Analytics