Sto lavorando a un'app di Windows Phone in grado di leggere le arti degli album in modo dinamico dai file musicali tramite le API di MediaPlayer. Desidero ottenere le arti dell'album e ridimensionarle per lo sfondo della vista. Dal momento che il ridimensionamento perderebbe i dettagli e renderebbe l'immagine brutta, quindi mi piacerebbe sfocarlo o qualche tipo di effetto. C'è qualche API che posso sfocare l'immagine? (sia da C# o XAML)? Molte grazie!WP8: Esiste un modo semplice per ridimensionare e sfocare un'applicazione BitmapImage per Windows Phone?
8
A
risposta
10
vorrei iniziare utilizzando WriteableBitmap invece, per ottenere un WriteableBitmap da un BitmapImage è possibile effettuare le seguenti operazioni:
WriteableBitmap wb = new WriteableBitmap(bitmapImage);
Poi mi consiglia di utilizzare il WriteableBitmapExtension library. Ha il supporto per il ridimensionamento dell'immagine:
wb.Resize(newWidth, newHeight, WriteableBitmapExtensions.Interpolation.Bilinear);
per fare il gaussian blur con WritableBitmapExtensions effettuare le seguenti operazioni (per qualche motivo concolution non modificare il writableBitmap, in modo da avere assegnare di nuovo per lo stesso writableBitmap per vedere il risultato):
wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur5x5);
o
wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur3x3);
(soli pesi diversi per i pixel vicini).
Problemi correlati
- 1. OCR su Windows Phone 8 WP8
- 2. cordova.file non è definito per windows/wp8
- 3. Esiste un modo più semplice e veloce per rilevare se il dispositivo (Windows Phone 7) ha una connessione Internet
- 4. Un framework Data Caching per Windows Phone?
- 5. Esiste un controllo timer per Windows Phone 7?
- 6. Esiste un supporto per gli script su Windows Phone?
- 7. EventToCommand mancante per Windows Phone App
- 8. Differenza tra Windows Phone 8.1 e Windows Phone Silverlight 8.1
- 9. Esiste un modo semplice per testare due PNG per l'uguaglianza?
- 10. Compilazione SQLite per Windows Phone 8
- 11. Esiste un'applicazione di riferimento per Windows Phone 7?
- 12. Esiste un modo semplice per randomizzare un elenco in VB.NET?
- 13. Un modo semplice per appiattire questo array?
- 14. MessageBox.Show per Windows Phone 7
- 15. SVG non visualizzati in Windows Phone 8 App Phone Phone
- 16. Listbox Drag'n'Drop ordinabile per Windows Phone 7
- 17. Esiste un modo più semplice per implementare openid?
- 18. Controllo calendario per Windows Phone 7?
- 19. Esiste un modo più semplice per creare il pacchetto perl
- 20. Esiste un modo semplice per convertire i criteri in HQL?
- 21. Windows Phone 7 scaricare l'immagine e visualizzarla
- 22. Esiste un modo semplice per unire due valori di System.Drawing.Color?
- 23. C# foreach (proprietà nell'oggetto) ... Esiste un modo semplice per farlo?
- 24. Windows Phone 7 Controllo pivot per WPF?
- 25. Esiste un modo semplice per valutare JavaScript in WebStorm?
- 26. Esiste un modo semplice per implementare AutoResetEvent in C++ 0x?
- 27. Esiste un modo semplice per concatenare due BitArray (C# .NET)?
- 28. Client FTP per Windows Phone 7 Mango?
- 29. Wintellect PowerCollections per Windows 7 Phone?
- 30. Lettura e scrittura elenco per IsolatedStorage in Windows Phone 8
Così meraviglioso! Grazie – thsieh
Ciao, è questo il modo giusto di farlo? Sembra non funziona ?? WriteableBitmap wb = new WriteableBitmap (albumArtImage); WriteableBitmapExtensions.Convolute (wb, WriteableBitmapExtensions.KernelGaussianBlur5x5); AlbumBackground.ImageSource = wb; code – thsieh
Per qualche motivo il risultato della convoluzione non viene applicato a wb, ma restituito, quindi è necessario assegnarlo nuovamente a wb, vedere la risposta aggiornata. (L'ho provato con l'emulatore WP7 e ora sembra funzionare.) –