Pencerelerde çalışıyorum Müzik dosyalarını MediaPlayer API'leri aracılığıyla Müzik dosyalarından dinamik olarak okuyabilen Telefon uygulaması. Albüm sanatları almak ve görünümün arka planı için yeniden boyutlandırmak istiyorum. Yeniden boyutlandırma ayrıntılarını kaybedeceğinden ve görüntüyü çirkin hale getireceğinden, bulanıklaştırmak veya bir çeşit etki yapmak istiyorum. Resmi bulanıklaştırabilecek herhangi bir API var mı? (C# veya XAML'den)? Çok teşekkürler!WP8: Windows telefon uygulaması için bir BitmapImage ölçeklendirmek ve bulanıklaştırmak için kolay bir yol var mı?
8
A
cevap
10
ben aşağıdakileri yapabilirsiniz bir BitmapImage bir WriteableBitmap almak yerine WriteableBitmap kullanarak başlayacaktı:
WriteableBitmap wb = new WriteableBitmap(bitmapImage);
Sonra WriteableBitmapExtension library kullanarak öneriyoruz. Bu resim boyutlandırma desteği vardır:
wb.Resize(newWidth, newHeight, WriteableBitmapExtensions.Interpolation.Bilinear);
yapmak için atamak zorunda nedense concolution aynı writableBitmap için tekrar writableBitmap düzenleme vermez aşağıdaki (görmek do WritableBitmapExtensions ile gaussian blur sonuç): komşu pikseller için
wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur5x5);
veya
wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur3x3);
(Sadece farklı ağırlıklar).
Çok güzel! Teşekkürler – thsieh
Merhaba, bu doğru yolu nedir? Çalışmıyor gibi görünüyor? WriteableBitmap wb = yeni WriteableBitmap (albumArtImage); WriteableBitmapExtensions.Convolute (wb, WriteableBitmapExtensions.KernelGaussianBlur5x5); AlbumBackground.ImageSource = wb; code – thsieh
Herhangi bir nedenle, evrişimin sonucu wb'ye uygulanmadı, ancak bunun yerine geri döndü, böylece tekrar wb'ye atamanız gerekiyor, güncellenmiş yanıtı görün. (WP7 emülatöründe denedim ve şimdi çalışıyor gibi görünüyor.) –