NET: Substituir ImageMagick com WPF-objetos

votos
2

Nós todos vimos demo-aplicações interessantes WPF com rich media.

A minha pergunta é se WPF-objetos pode substituir algumas funcionalidades básicas em ImageMagick . Funções básicas como redimensionamento de imagens, recorte e assim por diante.

Os resultados do redimensionamento do .NET 2.0 System.Graphics-namespace é apenas triste (GDI +). Talvez eu estou usando-o errado, mas fora da caixa que parece ser.

Além disso, uma boa aposta seria que a API: s para WPF são um pouco mais acentuada do que APIs .NET do ImageMagick.

Atualizar : Meu pensamento foi que WPF talvez teria um objeto para de manipulação de imagens . Como GDI tem System.Drawing.Image e System.Drawing.Bitmap. Mas eu estava esperando esse objeto do WPF foi maior performance e melhor em qualidade a, por exemplo, a imagem no redimensionamento.

Publicado 10/12/2008 em 11:22
fonte usuário
Em outras línguas...                            


5 respostas

votos
4

WPF e GDI + são sistemas gráficos projetados especificamente para GUI, eles não são imagem bibliotecas de manipulação.

WPF é muito melhor, em seguida, GDI +, mas ainda é um sistema GUI - coisas como produzir o mesmo resultado exato em hardware diferente (como IgorK está preocupado com) não são apenas uma prioridade e redimensionamento de qualidade é menos importante do que o desempenho - otehrwise não vai ser usado como parte de um pipeline de processamento.

Então, se você usar ImageMagick para processamento básico antes de exibir a imagem WPF pode funcionar para você (mas eu aposto que ele tem muito menos opções, em seguida, ImageMagick), se você precisar de processamento de imagem de alta qualidade, em seguida, WPF é apenas a ferramenta errada para o trabalho.

WPF é um grande sistema GUI (o melhor que eu já trabalhei com), mas não é um sistema de propósito geral gráfica e não é uma biblioteca de manipulação de imagem.

Respondeu 10/12/2008 em 17:04
fonte usuário

votos
1

Ambos WPF e GDI + tem muitos tipos de erros ao carregar e processamento de imagens. I informar a Microsoft alguns dos bugs e Microsoft foi corrigido este erros agora ... mas apenas em FW4.0 e Windows7. Com outros sistemas operacionais (WinXP, Vista, Win2000) e FW2.0 este erros não foram corrigidos para a qualquer momento.

- Desculpe pela má :( Inglês

Respondeu 20/10/2009 em 14:14
fonte usuário

votos
1

Você pode apenas usar a planície System.Drawing-namespace de idade. Basta usar os objetos corretos, métodos e paramaters e as imagens redimensionadas não vai chupar.

http://weblogs.asp.net/gunnarpeipman/archive/2009/04/02/resizing-images-without-loss-of-quality.aspx

Respondeu 03/04/2009 em 17:49
fonte usuário

votos
1

Encontrado este blog com algo semelhante à sua situação.

Estou um pouco preocupado com o facto de WPF usará renderização por hardware, se disponível. Ele pode se tornar um problema se você precisa de resultados idênticos (não apenas olhando similar) em hardware diferente, por exemplo.

Você pode fazer coisas muito interessantes como aplicar shaders HLSL em WPF mas ainda olha para mim como muito especial (e potencialmente problemático) maneira de fazer o processamento de imagem, pelo menos agora. Pode ser um dia ele vai se tornar acéfalo para usar o WPF em muitas outras áreas, mas por agora eu iria ficar até as mais previsíveis :) Claro que é bom saber que WPF é desenvolvido ativamente e projeto tem pessoas que fizeram GDI + (ver este ), mas é uma tecnologia muito fresco para usá-lo em 'novos caminhos' para projetos sérios. De qualquer forma eu ficaria feliz de saber se você conseguir fazer abordagem WPF trabalhando para você, parece idéia muito interessante para mim :)

Respondeu 10/12/2008 em 14:13
fonte usuário

votos
1

Eu não sei sobre WPF, mas você pode usar GDI + - há uma introdução aqui:

Respondeu 10/12/2008 em 11:34
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more