java imagimage缓冲_java – 如何获取bufferedImage的缩放实例

我想得到一个缓冲图像的缩放实例,我做了:

public void analyzePosition(BufferedImage img, int x, int y){

img = (BufferedImage) img.getScaledInstance(getWidth(), getHeight(), Image.SCALE_SMOOTH);

....

}

但我得到一个例外:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: sun.awt.image.ToolkitImage cannot be cast to java.awt.image.BufferedImage

at ImagePanel.analyzePosition(ImagePanel.java:43)

我想要转换为ToolkitImage然后使用我在其他文章中读到的方法getBufferedImage.问题是没有类如sun.awt.image.ToolkitImage我无法强制转换它,因为Eclipse甚至没有看到这个类.我使用Java 1.7和jre1.7.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中使用BufferedImage和Graphics类可以实现画图功能。下面是一个简单的示例代码,可以画一个矩形和一个圆形: ```java import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import javax.swing.JFrame; import javax.swing.JPanel; public class DrawShapes extends JPanel { private static final long serialVersionUID = 1L; public void paint(Graphics g) { // 创建一个BufferedImage对象 BufferedImage image = new BufferedImage(300, 300, BufferedImage.TYPE_INT_RGB); // 获取Graphics对象 Graphics g2 = image.createGraphics(); // 画一个矩形 g2.setColor(Color.RED); g2.fillRect(50, 50, 100, 100); // 画一个圆形 g2.setColor(Color.BLUE); g2.fillOval(150, 150, 100, 100); // 将BufferedImage对象绘制到面板上 g.drawImage(image, 0, 0, null); } public static void main(String[] args) { // 创建一个窗口并添加面板 JFrame frame = new JFrame(); frame.getContentPane().add(new DrawShapes()); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } ``` 在这个示例中,我们创建了一个继承自JPanel的类DrawShapes,并重写了其paint()方法。在paint()方法中,我们首先创建了一个BufferedImage对象,并获取了它的Graphics对象。接着,我们使用Graphics对象画了一个矩形和一个圆形。最后,我们将BufferedImage对象绘制到面板上。 在main()方法中,我们创建了一个窗口并添加了DrawShapes面板。运行程序后,就可以看到画出的矩形和圆形了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值