重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先导入各种宴兆需要的包:\x0d\x0aimport java.awt.Image;\x0d\x0aimport javax.imageio.ImageIO;\x0d\x0aimport java.io.*;\x0d\x0a读取图片的方法如下:\x0d\x0aImage[] array = new Image[10];\x0d\x0aImage image = ImageIO.read(new File("d:\\source.gif"));//根据你实际情况改文件路径吧\x0d\x0aarray[0] = image;\x0d\x0a图片读出来了。\x0d\x0a\x0d\x0a如果你有一个Image对象,想把茄庆它写入文件可以这样做:\x0d\x0aBufferedImage image = ImageIO.read(new File("d:\\source.gif"));\x0d\x0a/颤祥握/要想保存这个对象的话你要把image声明为BufferedImage 类型\x0d\x0aImageIO.write(image, "png", new File("f:\\test.png"));
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了平乐免费建站欢迎大家使用!
//本程序演示媒体跟踪器的用法,从图像中剪切(抓取)部分图像的方法。
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*;
class ImagePanelB extends JPanel{
private Image image, blockImage;
public ImagePanelB(){
MediaTracker mt = new MediaTracker(this); //创建媒体跟踪器mt
image = Toolkit.getDefaultToolkit().getImage("resource.gif");
mt.addImage(image,0); //将image列入0号编组并跟踪image的逗型下载过程
try{ mt.waitForID(0); //等待图像组编号为0的所有图像下载完成
}catch(InterruptedException e){e.printStackTrace();}
int imageW =image.getWidth(this); //获取图像宽度,单位为像素
int imageH =image.getHeight(this); //获取图像高度,单位为像素
System.out.println("图像的宽="+imageW+" 图像的高="+imageH);
//准备从image中剪出宽为w,高为h的一块图像
int w=imageW/2; int h=imageH/2;
PixelGrabber pg=null; //创建像素抓取器
MemoryImageSource ip=null; //创建内存图像源
Toolkit tool = getToolkit(); int pixels[]= new int[w*h];
/*建立像素抓取器pg。从image中抓取矩形区域中的像素。矩形区罩指友域左上角顶点坐标为(0,0),矩形宽w,矩形高h。w,h的单位是像素数。抓取到的像素存于整数数组pixels中。第7个物槐参数是数组pixels中存储第1个像素的下标,通常为0。第8个参数是所抓取的矩形区域的一行包含的像素个数。*/
pg = new PixelGrabber(image,0,0,w,h,pixels,0,w);
try{
pg.grabPixels(); //开始图像的生产(抓取像素并存入pixels)
ip=new MemoryImageSource(w,h,pixels,0,w);
blockImage=tool.createImage(ip);
} catch(InterruptedException ie){}
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(image, 40, 20, this);
g.drawImage(blockImage, 240, 20, this);
}
}
class ImageFrameB extends JFrame{
public ImageFrameB(){
setTitle("LoadingImageB"); setSize(440, 200);
addWindowListener(new WindowAdapter(){//内部类的匿名表示形式
public void windowClosing(WindowEvent e){ System.exit(0); }
} );
Container contentPane = getContentPane();
contentPane.add(new ImagePanelB());
}
}
public class LoadingImageB{
public static void main(String[] args){
JFrame frame = new ImageFrameB();
frame.setVisible(true);
}
}
可通过Icon接口进行图片操作。
new ImageIcon(这里放入图像文件的路径)//此为创建一个对象
getIconWidth()设置图像宽度
getIconHeight()设置图像长度
还有更多的对察余碰图片的操作方法,可查看败谈API文档。
下面是加入图片的简单效果源码:package Swing02;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TestIcon {
public TestIcon(){
JFrame jf=new JFrame("加入图片练习");
JPanel jp=new JPanel();
Icon ic=new ImageIcon("C:\\Documents and Settings\\tarena\\桌面\\牵手1.jpg");
JLabel jl=new JLabel(ic,JLabel.CENTER);
JButton jb=new JButton(ic);
GridLayout gl=new GridLayout(3,3);
String[] pos=new String[9];
for(int i=0;ipos.length;i++){
JButton jb1=new JButton();
jp.add(jb1);
jb1.setIcon(ic);
}
jf.add(jp);
jp.setLayout(gl);
//jf.add(jl);
//jf.add(jb);
jf.setLocation(300,200);//设置出现位置
jf.setSize(300,200);//设置大小
jf.setResizable(true);//设置窗口大小不可变
jf.setVisible(true);//设置可毁含见(必须放在最后)
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TestIcon();
}
}
关于图片的布局,可把图片加入到JLabel中,然后用布局管理器对JLabel进行布局就好了。