java读取图像文件

编程技术  /  houtizong 发布于 3年前   108
      try
      {
         image = ImageIO.read(new File("blue-ball.gif"));
      }
      catch (IOException e)
      {
         e.printStackTrace();
      }

注意:使用Eclipse作为IDE的话要把图像文件放在Project的根目录下,不然会抛出异常。javax.imageio.IIOException: Can't read input file!

读取网络上的图像(完整例):
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.URL;

import javax.imageio.*;
import javax.swing.*;

public class ImageTest

   public static void main(String[] args)
   { 
      ImageFrame frame = new ImageFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
   }
}

/**
    A frame with an image panel
*/
class ImageFrame extends JFrame
{
   public ImageFrame()
   {
      setTitle("ImageTest");
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

      // add panel to frame

      ImagePanel panel = new ImagePanel();
      add(panel);
   }

   public static final int DEFAULT_WIDTH = 300;
   public static final int DEFAULT_HEIGHT = 200; 
}

/**
   A panel that displays a tiled image
*/
class ImagePanel extends JPanel

   public ImagePanel()
   { 
      // acquire the image
      try
      {
    URL imageUrl = null;
    String url = "http://pass.bccn.net/avatar.php?uid=31954&size=.gif";
    imageUrl = new URL(url);
  image = ImageIO.read(imageUrl);
      }
      catch (IOException e)
      {
         e.printStackTrace();
      }
   }
  
   public void paintComponent(Graphics g)
   { 
      super.paintComponent(g);
      if (image == null) return;
  
      int imageWidth = image.getWidth(this);
      int imageHeight = image.getHeight(this);

      // draw the image in the upper-left corner
     
      g.drawImage(image, 0, 0, null);
      // tile the image across the panel

      for (int i = 0; i * imageWidth <= getWidth(); i++)
         for (int j = 0; j * imageHeight <= getHeight(); j++)
            if (i + j > 0)
               g.copyArea(0, 0, imageWidth, imageHeight,
                  i * imageWidth, j * imageHeight);
   }
  
   private Image image;
}

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客