圖片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進行布局就好了。