2017-03-16 4 views
0

私はインターネットから画像ソースを読み込んでいます。この画像の支配的な色が必要です。例えば、thisイメージと色の泥棒が見つかりましたが、私は理解できません。カラー泥棒をUWPで使用する方法

私はこの方法を使用していますが、間違っていると思います。

BitmapDecoder BMD = new BitmapDecoder("https://yt3.ggpht.com/-cYK4gMKhvV0/AAAAAAAAAAI/AAAAAAAAAAA/8znlvBw-Wos/s100-c-k-no-mo-rj-c0xffffff/photo.jpg"); 
var colorThief = new ColorThief(); 
await colorThief.GetColor(BMD); 

どうすればいいですか?

答えて

1

メソッドがColorThiefの場合は、BitmapDecoderパラメータが必要です。しかし、BitmapDecodeはあなたが試みている方法では作成されません。 BitmapDecoderCreateAsync()メソッドに従ってIRandomAccessStreamで作成できますが、Uriによって直接作成することはできません。したがって、最初にRandomAccessStreamオブジェクトが必要です。これはRandomAccessStreamReference.CreateFromUri(Uri)RandomAccessStreamReferenceを作成して開いて読み込むことで実行できます。 ColorThiefを使用した完全なデモは次のとおりです。

Uri imageUri = new Uri("https://yt3.ggpht.com/-cYK4gMKhvV0/AAAAAAAAAAI/AAAAAAAAAAA/8znlvBw-Wos/s100-c-k-no-mo-rj-c0xffffff/photo.jpg"); 
RandomAccessStreamReference random = RandomAccessStreamReference.CreateFromUri(imageUri); 
using (IRandomAccessStream stream = await random.OpenReadAsync()) 
{ 
    //Create a decoder for the image 
    var decoder = await BitmapDecoder.CreateAsync(stream); 
    var colorThief = new ColorThief(); 
    var color = await colorThief.GetColor(decoder);  
} 
関連する問題