資源描述:
《教你在谷歌Android平臺中處理圖片》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、【IT168專稿】Android是谷歌推出的業(yè)界首個完全開放且免費的移動應(yīng)用開發(fā)平臺,自從去年11月份谷歌宣布舉辦總獎金為1000萬美元的Android開發(fā)者大賽以來,人們對了解它、使用它的熱情逐漸升溫。自開賽以來全世界已經(jīng)有近1800個新參賽產(chǎn)品被提交,其中甚至有很多因其獨具一格的創(chuàng)意而登上技術(shù)界媒體的頭條,成為人們關(guān)注的焦點。在這個平臺上引入了許多有趣的概念,不過很多開發(fā)者依然認(rèn)為它只是一個Linux、Java和谷歌自己的應(yīng)用程序編程接口API的組合產(chǎn)物。本文將通過介紹圖片處理相關(guān)的編程,來讓你明白使用Android平臺非常簡單,而且這個平臺也非常強大。開始之前的入門知識了解?現(xiàn)在關(guān)于A
2、ndroid的參考資料并不是很多,而當(dāng)前最好的資料則來自于谷歌自己的Android的網(wǎng)站:http://code.google.com/android/。在這兒有你所需要的所有必須的開發(fā)工具、插件和示例代碼,你可以免費下載它們。下載操作很容易,在此不再浪費筆墨介紹。?除了在線文檔之外,你還可以通過加入社區(qū)論壇的方式來得到技術(shù)幫助。如果你是初學(xué)者,我推薦你選擇使用免費的開發(fā)工具Eclipse,因為它集成了最好的AndroidSDK,另外還有調(diào)試軟件和模擬器。根據(jù)很多有經(jīng)驗的開發(fā)者介紹,盡管通過命令行或批處理腳本都可以實現(xiàn)創(chuàng)建Android項目,但是使用Eclipse無疑是最容易上手的方法。?處
3、理圖像的API有哪些??Android的API可以實現(xiàn)很多強大的功能,其中包括:?·SQLite結(jié)構(gòu)化數(shù)據(jù)存儲數(shù)據(jù)庫(SQLiteforstructureddatastorage):通過它你不用花很大勁就可以在你的應(yīng)用程序內(nèi)嵌入一個微型數(shù)據(jù)庫?!D形庫支持:基于OpenGLES嵌入版的最佳二維圖形庫和三維圖形庫?!ぜ蒞eb瀏覽器支持·多媒體支持:它支持常用的音頻、視頻和圖像格式?!す雀鐰PI:映射(Mapping)功能可以讓第三方代碼顯示和控制一個谷歌地圖。它還可以通過XMPP支持一個叫做GTalkService的P2P服務(wù)?!び布嚓P(guān)的支持:有很多人們所期待的功能,用來支持GSM電話、藍(lán)
4、牙、3G、WiFi、定位服務(wù)等相關(guān)硬件。?在谷歌提供的大量API中,我們主要關(guān)注下面兩個程序包中的相關(guān)API:?·android.graphics:核心渲染包,它提供了一些初級圖形工具,諸如畫布、顏色過濾器、畫筆等,可以讓你直接在屏幕上進行圖像處理。·android.graphics.drawable:編譯過的可視化資源用來做背景、標(biāo)題或屏幕的其他部分。?由于圖片是位圖文件,因此我們將重點了解和使用在android.graphics.Bitmap下的API。?文件I/O和支持的圖片格式?Android支持好幾種常見的靜態(tài)圖片格式,例如PNG、JPG和GIF。在本文的示例中,我們將使用JPG格
5、式。如果你考慮使用圖片的透視功能,可能選擇PNG格式更合適一些。?為了從你的軟件中查看一個圖片文件,你應(yīng)該將它放在你的軟件根目錄下的res/drawable目錄下。一旦這個圖片放在這個文件夾下之后,當(dāng)你重新編譯打包的時候,會自動為它產(chǎn)生一個資源ID。舉個例子來說,如果你擁有一個叫做pic1.jpg的圖片文件,它將可以通過它的資源IDR.drawable.pic1在程序中被訪問。你可以看到這個圖像文件擴展名已經(jīng)被脫去,而R則代表了整體資源文件R.java,它是自動生成的,除非你非常了解這個文件中的資源結(jié)構(gòu),不推薦你編輯它里面的內(nèi)容。下面的示例代碼介紹如何通過一個圖像文件的資源ID來訪問它。?1
6、BitmapmBitmap=BitmapFactory.decodeResource(getResources(),2??R.drawable.pic1);3intpic_width=mBitmap.width();4intpic_height=mBitmap.height();?如果你希望閱讀和編寫一個沒有指定文件夾結(jié)構(gòu)的圖片文件,它應(yīng)該放在模擬器的/data/data/YourPackageName/files/目錄下。舉個例子來說,如果你為你的例程創(chuàng)建一個程序包名稱為com.cyl.TutorialOnImages。那么當(dāng)你在運行的時候創(chuàng)建一個新的圖片文件,它將被放在/data/dat
7、a/com.cyl.TutorialOnImages/files/文件夾下。請記住每一個Android應(yīng)用都將以它自己的用戶和組ID來啟動,因此你專門設(shè)定,某些文件夾是不可以通過你的軟件來訪問的。下面是一段當(dāng)你希望輸出一個位圖到一個output.jpg文件時的代碼。?1try{2??FileOutputStreamfos=super.openFileOutput("output.jpg",3??????MOD