| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > Растровые алгоритмы |
| Автор: Idsa 30.9.2008, 13:40 |
| Мне необходимо реализовать некоторые растровые алгоритмы (например, размытие изображения). Правильно ли я понимаю, что стандартными средствами WPF этого не сделать, и необходимо использовать GDI+ обертку, как в WinForms? |
| Автор: Kefir 30.9.2008, 21:06 |
| ну насчёт GDI+ не уверен, но суть такова, что обработку надо в любом случае делать ручками. загляни сюда: http://msdn.microsoft.com/en-us/library/ms735322(VS.85).aspx#customeffects http://msdn.microsoft.com/en-us/library/ms771475.aspx Добавлено через 1 минуту и 19 секунд плюс посмотри здесь http://blogs.microsoft.co.il/blogs/tomershamam/archive/2007/09/21/wpf-image-processing.aspx - интересно |
| Автор: Idsa 12.10.2008, 20:56 |
| Спасибо за ссылочки. Насколько я понял, эффекты можно реализовать двумя способами: через эффекты (в 3.5 SP1) при помощи ручного написания шейдеров, либо через WriteableBitmap. Был удивлен, когда натолкнулся на WriteableBitmap: странно, что не видел упоминания о нем в МакДональде. Вот описание WriteableBitmap в MSDN с хорошим примером: http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.writeablebitmap.aspx Вот очень интересная статья по WriteableBitmap: http://blogs.msdn.com/jgalasyn/archive/2008/04/17/using-writeablebitmap-to-display-a-procedural-texture.aspx Интересно, что автор приходит к выводу, что WriteableBitmap из .NET 3.5 в 3 раза быстрее GDI+ (который юзали в WinForms). При этом я читал, что в .NET 3.5 SP1 WriteableBitmap гораздо производительнее, так что выгодна по сравнению с WinForms должна быть еще существенней. Кстати вот и эта обзорная статья (must read): http://blogs.msdn.com/tims/archive/2008/05/12/introducing-the-third-major-release-of-windows-presentation-foundation.aspx Про эффекты и написание шейдеров можно прочитать здесь: http://blogs.msdn.com/greg_schechter/archive/tags/WPF/default.aspx (это все статьи этого блога с тэгом WPF) и здесь: http://www.codeproject.com/KB/WPF/WPFPixelShader.aspx Про то, как можно получить BitmapSource из массива точек можно прочитать здесь: http://www.interact-sw.co.uk/iangblog/2006/03/10/wpfrawpixels |