2016-05-30 8 views
0

最近、かなりたくさんのアイコンが必要なWindows Phone 8.1 RTアプリケーションで作業しています。 iOSとAndroidの場合は、白黒アイコンを使用して、コードを使用して適切な色にすることができます。しかし、WP8.1の場合、高速に実行することは非常に不可能です。WP8.1 RT - ピクセルの色を変更する

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秒かかります。私が間違っていることは何か、そして何が改善できるかについてです。

ありがとうございました。

答えて

0

画像を読み取ってその色を変えるには、時間がかかります。あなたはより速いペースでそれを行うことができる2つの方法を持っています 1)使用Segoe MDL2 Assetsほとんどの基本イメージを含むこれらのプリインストールされたフォントファミリーを使用することができます。利点は、これらがフォアグラウンドを変更するベクトル画像が色を瞬時に変えるためです。あなたのシステムでCharacterMapを探して、このフォントを検索すると、使用可能なすべてのフォントが見つかります
2)charmapで特定のイメージを見つけることができない場合は、画像をあなたは簡単に色を変更することができます。

関連する問題