2011-09-15 183 views
0

我想知道是否可以合併多張照片以形成一張完整照片。對於我的情況,是一個平面圖,分成18個小圖像,我想合併成一個。我有一個想法,但不知道它是否可行。我的想法是這樣的:合併多張照片以形成Android中的完整照片

我首先將左上角的圖像放在第一位,x和y座標爲(0,0)。 接下來爲後續圖像(第一幅圖像的右側/底部),使用圖像的寬度和高度,我會找出放置下一幅圖像的座標。這樣做我認爲將需要18 ImageView來實現這一點。

順便說一句,這18個圖像是.gif格式,所以我需要將它們轉換爲位圖或之前我可以使用ImageView顯示它們?

回答

1

你可以通過繪製的小圖像與所產生的大位圖

Canvas c=new Canvas(result_bitmapenter);

,然後繪製你的小圖像在畫布上相關的畫布圖像合併到一個更大的圖像

c.drawBitmap(small,...);

但是,這可能不是最好的方式,因爲大圖像吃大量的內存 - 也許你應該動態加載而不是合併,然後

+0

感謝您的答案,但我不明白什麼是動態加載是關於。你能告訴我更多嗎? – user918197

+0

動態加載意味着你只加載你現在看到的瓷磚(+或許是一些左右的響應能力)012wBtw .:你有和映射應用程序一樣的問題,或許最好使用一些OSM庫並獲取它顯示你的瓷磚。 – ligi

+0

我不確定動態加載是否適用於這種情況,因爲我正在定位應用程序,並且需要顯示用戶在地圖上的位置。再次感謝,並將在OSM庫。 – user918197

0

是的,它可能創建一個足夠大的Bitmap對象來容納整個平面圖並使用Canvas將它們繪製到大的位圖中。請務必將其緩存,否則您每次都會重新創建它,並且必須將其轉換爲png才能與舊設備兼容。

+0

所以,你的意思是說,Bitmap對象可以通過使用Canvas繪製/繪製它來將所有較小的圖像「鏈接起來」以形成平面圖。 – user918197