簡體   English   中英

WP8.1 RT-更改像素顏色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM