這個話題給大家深入講講Image.createImage(width,height);
我始終認為:深入的理解一種機制,然后才有靈活多變的應用!如果你不能深入的理解它,那么也只會死板的套用,如果你想做個copy代碼的程序員,那么就沒必要看我的文章。
Image.createImage(width,height);這個方法到底是做什么用的?
我們先看下doc里的一段說明:
An immutable image may be created from a mutable image through the use of the
createImage
method. It is possible to create a mutable copy of an immutable image using a technique similar to the following:
|
這句話的意思是:通過Image.createImage(width,height);可以得到一份圖片的copy。
也就是說:我們可以把某個圖片緩存在內存中,然后隨時可以把它調出來用。
好,理解了這點,下面的就好辦!
一:既然這個方法緩存圖片的一份copy,那么我們就可以利用它來緩存我們的圖片,然后在需要的時候把它刷新的手機屏幕上(也就是g.drawImage()把它畫到屏幕上),從而使這個方法可用于雙緩沖技術。
當然,這個功能是我們常用的,我這里就不羅嗦了!
我要將的是下面的一個應用!
二:利用Image.createImage(windth,height)來繪制背景。
可能大家看到這個標題都很詫異,我們常用繪制背景的方法是剪貼(setClip())。
下面我來演示怎么用這個方法繪制背景title。
首先,我們計算需要用的title圖片塊,也就是拼湊大地圖的小圖片塊。
然后,我們在內存中把這些小圖片塊按照數組索引號緩存在內存中。
最后,繪制地圖的時候我們再把這些小圖片塊取出來。
結果就是,因為我們把這些小圖片塊緩存在內存塊中,所以取出來的時候更快。
下面是演示代碼:
Image img[] = new Image[4];
for(int i = 0;i < 4;i++)
?img[i] = Image.createImage(width,height);
int[][] mapTitle = { 1,1,1,1,1,1,1,1,
???????????????????????????????? 2,3,1,0,3,2,2,2
.........
}
最后通過索引把圖片取出來畫到屏幕上就OK了。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=640337
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
