2016-08-05 17 views
7

使用vector drawables與使用Android系統圖標的一組.png有什麼優缺點?在Android中使用矢量繪圖和一組.png圖標有什麼區別?

如果它們是針對兩種不同的東西,那是什麼?

+0

Afaik,矢量縮放,同時保持其原始比例。有趣的問題,我想親自看到這個答案。 – Vucko

+0

這裏,在「關於SVG文件的注意事項」下:https://developer.android.com/studio/write/vector-asset-studio.html – Shaishav

回答

3

一個PNG是一個壓縮圖像。它有一個固定的大小,如果你想讓它變大或變小,它需要複製或刪除數據。太大或太小,看起來不正確(太大太差太小)。

矢量繪製是一系列命令,告訴它如何繪製東西。這些命令可以縮放,因此一個良好執行的矢量可繪製在1000x1000上看起來與在100x100時一樣好。

一個PNG的優點是它容易做和相對較快的性能。矢量繪製較慢(您必須執行這些命令)並且難以創建一個好的。但它的規模更好。如果不需要縮放,png可能就是你想要的。如果是這樣,你可能需要一個向量。

另請注意,某些類型的圖像比其他類型的圖像更適用於矢量 - 圖標很好地利用了矢量。照片不起作用。

3

由於您只有1個圖像vs在不同文件夾中有多個圖像,因此矢量繪圖可以縮小apk的大小。他們還很好地進行縮放這就是爲什麼你只需要創建1個矢量繪製

的缺點載體,他們是一點點的性能嚴重,因此你應該在一些地方

0

除了縮放使用它們,空間因素,使用矢量繪圖可以實時地播放和修改繪圖的矢量信息,這意味着您可以執行諸如變形等操作(如變形圖形)。對於一組PNG,你有一個靜態表示,這就是你不能玩的形式,因爲它們只是靜態位圖(除非你對它們做了棘手的事情)。檢查出this example of path morphing爲了知道你能得到什麼。請記住,使用一組PNG可繪製對象交換靈活性和空間速度,使用矢量可繪製對象可以獲得靈活性和空間,但會損失速度(因爲向量轉換是CPU密集型任務,與位圖縮放相反)。

相關問題