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