图片java
❶ 用java怎么读取图片
思路:使用 java.awt.Image包下的Image可以接收图片。读取则使用ImageIO对象。
代码如下:
/**
* 读取图片,首先导入以下的包
*/
import java.awt.Image;
import javax.imageio.ImageIO;
import java.io.*;
/**
* 用Image对象来接收图片
* 路径根据实际情况修改
*/
Image image = ImageIO.read(new File("c:\\1.png"));
System.out.println(image.getSource());
❷ 如何用java添加图片
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Test extends JFrame{
private ImageIcon i;
private JLabel l;
private JPanel p;
public Test(){
i = new ImageIcon("D:\\1.jpg");
l = new JLabel(i);
p = new JPanel();
p.add(l);
this.add(p);
this.setBounds(300, 200, 200, 300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args){
new Test();
}
}
这样写吧,简单明了。路径是可变的,我这个例子是D盘下有个 1.jpg 的图片
你要改路径的时候 记得是\\ 写\ 没用的。
愿你的JAVA 之路更有趣,有问题随时欢迎讨论!
❸ Java如何添加图片
用Swing包下的ImageIcon类就可以实现,比如在一个按钮中添加一张图片,就可以用以下代码实现:ImageIcon imageicon =new ImageIcon(String s);JButton b=new JButton(imageicon); 其中参数s是所要添加图片的路径(绝对路径或相对路径)和名字。如想添加D盘下的图片1.jpg,就可以将上面改成:ImageIcon imageicon =new ImageIcon("D:\1.jpg");
❹ java截取图片
呵呵,很明确的告诉你:可以!
代码半小时后出来!!!
……
终于出来了(呵呵,好像超过了半小时哈)且看代码:
importjava.awt.Color;
importjava.awt.Graphics;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.IOException;
importjavax.imageio.ImageIO;
importjavax.swing.JApplet;
publicclassTestextendsJApplet{
Stringaddrs="F:\images\mm.bmp";//改成自己的图片路径
BufferedImagemm,child;
CutImageci;
publicTest(){
try{
mm=ImageIO.read(newFile(addrs));
}catch(IOExceptione){
System.out.println("图片读取失败!");
e.printStackTrace();
}
ci=newCutImage(mm);
child=ci.getChildImage(50,0,150,220);
}
publicvoidinit(){
}
publicvoidpaint(Graphicsg){
g.setColor(Color.red);
g.drawString("原图:",0,10);
g.drawImage(mm,20,10,this);
g.drawString("ci.getChildImage(50,0,150,220)截取后的图片",mm.getWidth()+30,10);
g.drawImage(child,mm.getWidth()+50,20,this);
}
}
importjava.awt.Image;
importjava.awt.image.BufferedImage;
publicclassCutImage{
privateBufferedImageimg;
privateBufferedImagechild;
publicCutImage(){
}
publicCutImage(BufferedImageim){
img=im;
}
publicCutImage(Imageim){
img=(BufferedImage)im;
}
publicvoidsetImg(BufferedImageimg){
this.img=img;
}
(intx,inty,intwidth,intheight){
intcw=width;
intch=height;
intpw=img.getWidth();
intph=img.getHeight();
if(pw<x+width){
System.out.println("给出的参数超出原图片的范围!程序会自动减小宽度或高度");
cw=pw-x;
}
if(ph<y+height){
System.out.println("给出的参数超出原图片的范围!程序会自动减小宽度或高度");
ch=ph-y;
}
child=newBufferedImage(cw,ch,BufferedImage.TYPE_INT_ARGB);
for(inti=0;i<ch;i++){
for(intj=0;j<cw;j++){
child.setRGB(j,i,img.getRGB(x+j,y+i));
}
}
returnchild;
}
}
呵呵,希望楼主能够满意哦,如果你愿意的话,稍微改一下代码就可以把截取的图片child报春到你的电脑上了。下面程序的运行效果吧!
❺ 如何在java中插入图片
public Qua_Main_JFrame() {
JPanel jpanel = new JPanel();
this.setContentPane(jpanel);
//
添加标签组件
GridLayout gird = new GridLayout(3,0);
jpanel.setLayout(gird);
ImageIcon img = new ImageIcon("src/JMXY.JPG");
JLabel imgLabel = new JLabel(img);//
将背景图放在标签里。
this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());
this.getLayeredPane().setLayout(null);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jpanel.setOpaque(false);
initComponents();
}
其中
Qua_Main_JFrame
为创建的
java
窗体项目名,图片按路径存放,注意一点,所有
的代码都应该放在
initComponents();
方法之上,这样你添加进窗体中的空间才会显示在
图片之上,否则看不见控件。
❻ Java编写时,怎么输出一张图片呀
(1)首先用ImageIO类读取这张图片
(2)如果要对这张图片修改,通过图片获取Graphics对象,再调用Graphics的方法来绘制、修改。
(3)再调用ImageIO的方法将图片输出到特定IO流即可。
具体代码实例可参考李刚的疯狂Java讲义的11.8节。
❼ java程序中怎么插入图片
1)文件要有后缀名
2)要用Image或BufferedImage对象
3)因为你重写了paint()方法,所以不能在Label里面显示图片。你重写了paint()方法后,整个容器都会变成画布,所以看不到Label组件,自然也就看不到图片。应该在paint方法里面用g.drawImage方法把图片在画布中画出来。参考Java API,Graphics的drawImage方法。
❽ 如何在Java中进行图片剪裁 疯狂JAVA
packagetest;
importjava.awt.Color;
importjava.awt.Graphics2D;
importjava.awt.Image;
importjava.awt.geom.AffineTransform;
importjava.awt.image.AffineTransformOp;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.IOException;
importjava.nio.Buffer;
importjavax.imageio.ImageIO;
importjavax.imageio.stream.ImageOutputStream;
/**
*裁剪、缩放图片工具类
*
*@authorCSDN没有梦想-何必远方
*/
publicclassImgUtils{
/**
*缩放图片方法
*
*@paramsrcImageFile
*要缩放的图片路径
*@paramresult
*缩放后的图片路径
*@paramheight
*目标高度像素
*@paramwidth
*目标宽度像素
*@parambb
*是否补白
*/
publicfinalstaticvoidscale(StringsrcImageFile,Stringresult,
intheight,intwidth,booleanbb){
try{
doubleratio=0.0;//缩放比例
Filef=newFile(srcImageFile);
BufferedImagebi=ImageIO.read(f);
Imageitemp=bi.getScaledInstance(width,height,bi.SCALE_SMOOTH);//bi.SCALE_SMOOTH
//选择图像平滑度比缩放速度具有更高优先级的图像缩放算法。
//计算比例
if((bi.getHeight()>height)||(bi.getWidth()>width)){
doubleratioHeight=(newInteger(height)).doubleValue()
/bi.getHeight();
doubleratioWhidth=(newInteger(width)).doubleValue()
/bi.getWidth();
if(ratioHeight>ratioWhidth){
ratio=ratioHeight;
}else{
ratio=ratioWhidth;
}
AffineTransformOpop=newAffineTransformOp(AffineTransform//仿射转换
.getScaleInstance(ratio,ratio),null);//返回表示剪切变换的变换
itemp=op.filter(bi,null);//转换源BufferedImage并将结果存储在目标
//BufferedImage中。
}
if(bb){//补白
BufferedImageimage=newBufferedImage(width,height,
BufferedImage.TYPE_INT_RGB);//构造一个类型为预定义图像类型之一的
//BufferedImage。
Graphics2Dg=image.createGraphics();//创建一个
//Graphics2D,可以将它绘制到此
//BufferedImage中。
g.setColor(Color.white);//控制颜色
g.fillRect(0,0,width,height);//使用Graphics2D上下文的设置,填充Shape
//的内部区域。
if(width==itemp.getWidth(null))
g.drawImage(itemp,0,(height-itemp.getHeight(null))/2,
itemp.getWidth(null),itemp.getHeight(null),
Color.white,null);
else
g.drawImage(itemp,(width-itemp.getWidth(null))/2,0,
itemp.getWidth(null),itemp.getHeight(null),
Color.white,null);
g.dispose();
itemp=image;
}
ImageIO.write((BufferedImage)itemp,"JPEG",newFile(result));//输出压缩图片
}catch(IOExceptione){
e.printStackTrace();
}
}
/**
*裁剪图片方法
*
*@parambufferedImage
*图像源
*@paramstartX
*裁剪开始x坐标
*@paramstartY
*裁剪开始y坐标
*@paramendX
*裁剪结束x坐标
*@paramendY
*裁剪结束y坐标
*@return
*/
(BufferedImagebufferedImage,
intstartX,intstartY,intendX,intendY){
intwidth=bufferedImage.getWidth();
intheight=bufferedImage.getHeight();
if(startX==-1){
startX=0;
}
if(startY==-1){
startY=0;
}
if(endX==-1){
endX=width-1;
}
if(endY==-1){
endY=height-1;
}
BufferedImageresult=newBufferedImage(endX-startX,endY-startY,
4);
for(intx=startX;x<endX;++x){
for(inty=startY;y<endY;++y){
intrgb=bufferedImage.getRGB(x,y);
result.setRGB(x-startX,y-startY,rgb);
}
}
returnresult;
}
publicstaticvoidmain(String[]args)throwsIOException{
Fileinput=newFile("input.jpg");
BufferedImageimg=ImageIO.read(input);
cropImage(img,10,10,20,20);
Fileoutput=newFile("output.jpg");
ImageIO.write(img,"jpg",output);
}
}
❾ java 加载图片的几种方式
第一种方法:
Image bg; //或者是BufferedImage bg;
Pool2(){
try{
String file="图片的路径";
bg =ImageIO.read(new File(file));
}catch(Exception e){
e.printStackTrace();
}
}
第二种方法:这种方法用BufferedReader就不行
Image background;
Pool2(){
try{
String file="文件的路径";
background=Toolkit.getDefaultToolkit().getImage(file);
}catch(Exception e){
e.printStackTrace();
}
}
另外我们有时喜欢把图片放在工程的src目录下这样访问这些图片时就要用下面的方法。以src下的image文件下的01.jpg为例
Image image=null;
image = ImageIO.read(getClass().getResourceAsStream("/image/01.jpg"));
❿ Java程序中图片的使用方法
可通过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;i<pos.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进行布局就好了。