美文网首页
用BufferedImage加载图片

用BufferedImage加载图片

作者: 匡海璐_强化班 | 来源:发表于2019-12-13 08:41 被阅读0次

BufferedImage是Image的一个子类, BufferedImage生成的图片在内存里有一个图像缓冲区,利用这个缓冲区我们可以很方便的操作这个图片,通常用来做图片修改操作如大小变换、图片变灰、设置图片透明或不透明等。

Image是一个抽象列,BufferedImage是Image的实现。Image和BufferedImage的主要作用就是将一副图片加载到内存中。

Java将一副图片加载到内存中的方法是:

String imgPath = "C://demo.jpg";

BufferedImage image = ImageIO.read(new FileInputStream(imgPath));

可以用该方法可以获得图片的详细信息,例如:

获得图片的宽度:image.getWidth(null);图片只有加载内存中才能对图片进行进一步的处理。

接下来画出加载过的图片

当我们要在哪里绘图时,就先获得该对象的Graphics对象的引用,然后调用drawImage的方法。对于BuffereImage对象也是一样的。先在BuffereImage对象中绘图,然后将BuffereImage对象绘制到Frame中。这样就实现了双缓冲。

在paint方法中具体实现如下:

public void paint(Graphics g) {

super.paint(g);

bi = new BufferedImage(getSize().width, getSize().height, BufferedImage.TYPE_INT_ARGB);

Graphics bg = bi.getGraphics(); //在这里获得了bi的Graphics的引用

bg.drawImage(要显示的图片,.....);//调用bg的drawImage方法。

if (fi) {

g = img.getGraphics();

g.drawImage(bi, 50, 50, 40, 40, this);

}

}

相关文章

  • 用BufferedImage加载图片

    BufferedImage是Image的一个子类, BufferedImage生成的图片在内存里有一个图像缓冲区,...

  • Java 相关图片操作

    BufferedImage 转换为 InputStream 修改图片宽高

  • java 保存图片

    使用BufferedImage生成图片保存图片有两种方式:1.JPEGImageEncoder该种方式保存的图片会...

  • 图片加载用一定用Glide

    重要的事情说三遍 图片加载用Glide图片加载用Glide图片加载用Glide下面是今天的一次优化体验的数据对比这...

  • 图片验证

    网页登录中图片验证的实现,核心代码如下所示:创建图片资源 BufferedImage image = new Bu...

  • Fresco加载带特殊字符的图片路径失败

    用Fresco加载图片发现加载不出来,开始怀疑是图片的问题,但用 imageView.setImageBitmap...

  • vue-lazyload图片错误替换

    vue图片懒加载,vue-lazyload官方错误图片处理:1、用图片来替换加载过程或者加载失败: 2、引入时设置...

  • 验证码

    首先创建图片对象 设置好图片的宽度100和高度50使用 BufferedImage创建图片对象 其次设置验证码的背...

  • iOS UI基础回顾学习记录1

    1.用这个方法去加载图片[UIImage imageNamed:@""]内部是肯定有缓存的,用这个方法加载图片[U...

  • 浏览图片可放大缩放功能

    用scrollView加载图片并实现

网友评论

      本文标题:用BufferedImage加载图片

      本文链接:https://www.haomeiwen.com/subject/mogxnctx.html