[英]WP8.1 RT - Changing pixel color
最近,我一直在開發某些需要大量圖標的Windows Phone 8.1 RT應用程序。 對於iOS和Android,我們可以使用“黑底白字”圖標,並通過代碼將其變成正確的顏色。 但是對於WP8.1,似乎很難快速運行它。
class ColoredImage
{
public static WriteableBitmap GetColoredImage(WriteableBitmap bitmap, Color color)
{
var result = bitmap;
for (int i = 0; i < (result.PixelWidth); i++)
{
for (int j = 0; j < result.PixelHeight; j++)
{
if (result.GetPixel(i, j) == Colors.Black)
{
result.SetPixel(i, j, Colors.Transparent);
}
else
{
result.SetPixel(i, j, color);
}
}
}
return result;
}
}
我讓此類更改了WriteableBitmap的顏色,但是更改62x62圖像的顏色大約需要15秒。 我做錯了什么,我可以改進什么。
謝謝。
讀取圖像像素並更改其顏色的算法很耗時。 您有兩種方法可以更快地完成此任務:1)使用Segoe MDL2 Assets
您可以使用這些預安裝的字體系列,其中包含大多數基本圖像。 好處是,因為這些是矢量圖像,因此改變前景會立即改變顏色。 搜索CharacterMap,然后在系統中搜索此字體,您將找到所有可用的字體
2)如果無法在charmap中找到特定的圖像,則必須使用混合創建路徑圖像,這類似於將圖像轉換為矢量,然后可以輕松更改顏色。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.