Java中可以用java.awt.Toolkit類打開(kāi)gif,jpg,png三種類型的二進(jìn)制圖片文件,如果是其它類型的圖片,需要轉(zhuǎn)成上述格式的圖片才行。
成都創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元港南做網(wǎng)站,已為上家服務(wù),為港南各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
我給你一個(gè)例子你看看吧。
import?java.awt.Frame;
import?java.awt.Graphics;
import?java.awt.Image;
import?java.awt.Toolkit;
import?java.awt.event.WindowAdapter;
import?java.awt.event.WindowEvent;
public?class?LoadFromAppli?extends?Frame?{
private?static?final?long?serialVersionUID?=?1L;
Image?im;
//構(gòu)造函數(shù)
public?LoadFromAppli(){
//根據(jù)地址裝入圖片
im=Toolkit.getDefaultToolkit().getImage("bg.png");//bg.png處寫(xiě)你的圖片的絕對(duì)或相對(duì)路徑
//關(guān)閉窗口
addWindowListener(new?WindowAdapter()
{
public?void?windowClosing(WindowEvent?e)
{
System.exit(0);
}
});
}
//在Frame上顯示圖片
public?void?paint(Graphics?g){
g.drawImage(im,?0,?0,?this);
}
public?static?void?main(String[]?args)?{
LoadFromAppli?f?=?new?LoadFromAppli();?
f.setSize(200,200);
f.setVisible(true);
}
}
1.把2個(gè)圖象文件放到CLASS的同一目錄下
2.改成絕對(duì)路徑
——————————————————————————————
是不是圖片路徑不對(duì)。你把圖片放在C盤(pán)根目錄下面。然后
pic1=getImage(getDocumentBase(),"c:/a.gif");
pic2=getImage(getDocumentBase(),"c:/b.gif");
這樣試試看。
回答者: lafaelz - 試用期 一級(jí) 5-3 16:26
這個(gè)兄弟 雖然你是絕對(duì)路徑 但是拼錯(cuò)了。。。 要有轉(zhuǎn)義的
pic2=getImage(getDocumentBase(),"c://b.gif");
都要有2個(gè)/ 要不認(rèn)不出來(lái) /是轉(zhuǎn)義符號(hào)
實(shí)現(xiàn)思路:無(wú)論是何種類型,都是轉(zhuǎn)換為流的形式進(jìn)行的文件傳輸和存儲(chǔ)。
可以通過(guò)BufferedReader 流的形式進(jìn)行流緩存,之后通過(guò)readLine方法獲取到緩存的內(nèi)容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定義一個(gè)流
try {
String file = "D:/test/test.GIF";
bre = new BufferedReader(new FileReader(file));//此時(shí)獲取到的bre就是整個(gè)文件的緩存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/New.GIF”),"GBK");//確認(rèn)流的輸出文件和編碼格式,此過(guò)程創(chuàng)建了“test.GIF”實(shí)例
while ((str = bre.readLine())!= null) // 判斷最后一行不存在,為空結(jié)束循環(huán)
{
pw.write(str);//將要寫(xiě)入文件的內(nèi)容,可以多次write
};
bre.close();
pw.close();//關(guān)閉流
備注:文件流用完之后必須及時(shí)通過(guò)close方法關(guān)閉,否則會(huì)一直處于打開(kāi)狀態(tài),直至程序停止,增加系統(tǒng)負(fù)擔(dān)。
完全可以,程序如下,這里把圖片和程序放在一塊,不放在一起的話。
代碼Icon?icon=new?ImageIcon("1.gif");//要給出圖片的完整的路徑。
圖片資源:
import?java.awt.*;
import?javax.swing.*;
public?class?JFrameTest?extends?JFrame{
/**
*?@param?args
*/
private?static?final?long?serialVersionUID=1L;
JFrameTest(String?name){
super(name);
this.setSize(200,?200);//設(shè)置窗口大小。
this.setBackground(Color.DARK_GRAY);//設(shè)置背景顏色。
this.setLayout(new?FlowLayout());//設(shè)置順序布局。
Container?con=this.getContentPane();//獲取容器。
//設(shè)置按鈕,為按鈕添加圖片。
Icon?icon=new?ImageIcon("1.gif");//根據(jù)路徑取出圖片。
JButton?button=new?JButton("帶圖片的按鈕",icon);
con.add(button);//添加按鈕。
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//設(shè)置默認(rèn)的關(guān)閉方式。
}
public?static?void?main(String[]?args)?{
JFrameTest?test=new?JFrameTest("按鈕");
? test.setVisible(true);
}
}
運(yùn)行結(jié)果:
1-把GifView.jar加入你的項(xiàng)目。
2-在xml中配置GifView的基本屬性,GifView繼承自View類,和Button、ImageView一樣是一個(gè)UI控件。如:
view plaincopy to clipboardprint com.ant.liao.GifView android:id="@+id/gif2"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:paddingTop="4px" android:paddingLeft="14px" android:enabled="false" /$amp;amp;$nbsp;
com.ant.liao.GifView android:id="@+id/gif2"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:paddingTop="4px" android:paddingLeft="14px" android:enabled="false" /
3-在代碼中配置常用屬性:
view plaincopy to clipboardprint // 從xml中得到GifView的句柄
gf1 = (GifView) findViewById(R.id.gif1);
// 設(shè)置Gif圖片源
gf1.setGifImage(R.drawable.gif1);
// 添加監(jiān)聽(tīng)器
gf1.setOnClickListener(this);
// 設(shè)置顯示的大小,拉伸或者壓縮
gf1.setShowDimension(300, 300);
// 設(shè)置加載方式:先加載后顯示、邊加載邊顯示、只顯示第一幀再顯示
gf1.setGifImageType(GifImageType.COVER);
// 從xml中得到GifView的句柄
gf1 = (GifView) findViewById(R.id.gif1);
// 設(shè)置Gif圖片源
gf1.setGifImage(R.drawable.gif1);
// 添加監(jiān)聽(tīng)器
gf1.setOnClickListener(this);
// 設(shè)置顯示的大小,拉伸或者壓縮
gf1.setShowDimension(300, 300);
// 設(shè)置加載方式:先加載后顯示、邊加載邊顯示、只顯示第一幀再顯示
gf1.setGifImageType(GifImageType.COVER);
GifView的Jar包共有四個(gè)類:
GifAction.java
觀察者類,監(jiān)視GIF是否加載成功
GifFrame.java
里面三個(gè)成員:當(dāng)前圖片、延時(shí)、下張F(tuán)rame的鏈接。
GifDecoder.java
解碼線程類
GifView.java
主類,包括常用方法,如GifView構(gòu)造方法、設(shè)置圖片源、延遲、繪制等。
文章標(biāo)題:java啟動(dòng)圖gif代碼 Java gif
網(wǎng)頁(yè)路徑:http://jinyejixie.com/article18/hejjdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站維護(hù)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)