Вопрос

Мы все видели классные демонстрационные приложения WPF с мультимедийными возможностями.

Мой вопрос заключается в следующем если WPF-объекты могут заменить некоторую базовую функциональность в Магия изображений.Основные функции, такие как изменение размера изображений, обрезка и так далее.

Результаты работы системы .NET 2.0.Изменение размера пространства имен Graphics просто печально (GDI +).Может быть, я использую это неправильно, но, похоже, это так, из коробки.

Кроме того, хорошей ставкой было бы то, что API: s для WPF немного острее, чем .NET API ImageMagick.

Обновить:Моя мысль заключалась в том, что WPF, возможно, имел бы объект для манипулирования изображениями.Как у GDI есть система.Рисование.Изображение и система.Рисование.Растровое изображение.Но я надеялся, что объект WPF был более производительным и качественным, например, при изменении размера изображения.

Это было полезно?

Решение 4

Вы можете просто использовать обычную старую систему.Рисование-пространство имен.Просто используйте правильные объекты, методы и параметры, и изображения с измененным размером не будут отстойными.

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

Другие советы

WPF и GDI + - это графические системы, разработанные специально для GUI, они не являются библиотеками для работы с изображениями.

WPF намного лучше, чем GDI +, но это все еще система с графическим интерфейсом - такие вещи, как получение точно такого же результата на разном оборудовании (о чем беспокоится IgorK), просто не являются приоритетом, а качество изменения размера менее важно, чем производительность - иначе его нельзя будет использовать как часть конвейера рендеринга.

Итак, если вы используете ImageMagick для базовой обработки перед отображением изображения, WPF может вам подойти (но я готов поспорить, что у него намного меньше возможностей, чем у ImageMagick), если вам нужна высококачественная обработка изображений, то WPF - просто неподходящий инструмент для этой работы.

WPF - отличная графическая система (лучшая, с которой я когда-либо работал), но это не графическая система общего назначения и не библиотека для работы с изображениями.

Я не знаю насчет WPF, но вы могли бы использовать GDI + - здесь есть вступление:

Найденный этот блог с чем-то похожим на вашу ситуацию.

Меня немного беспокоит тот факт, что WPF будет использовать аппаратный рендеринг, если он доступен.Это может стать проблемой, если вам нужны идентичные результаты (не только глядя аналогично), например, на другом оборудовании.

Вы можете делать очень интересные вещи, такие как применение шейдеров HLSL в WPF, но мне это все еще кажется очень особенным (и потенциально проблематичным) способом обработки изображений, по крайней мере сейчас.Может быть, когда-нибудь станет проще использовать WPF во многих других областях, но пока я бы придерживался более предсказуемых :) Конечно, приятно знать, что WPF активно развивается, и в проекте есть люди, которые делали GDI + (см. это) но это очень свежая технология, чтобы использовать ее "по-новому" для серьезных проектов.В любом случае, я был бы рад узнать, удастся ли вам заставить подход WPF работать на вас, мне кажется, это очень интересная идея :)

Как WPF, так и GDI + имеют множество типов ошибок при загрузке и обработке изображений.Я сообщаю в Microsoft о некоторых ошибках, и Microsoft сейчас исправила эти ошибки...но только в FW4.0 и Windows7.В других ОС (WinXP, Vista, Win2000) и FW2.0 эти ошибки не будут исправлены в ближайшее время.

-- Извините за плохой английский :(

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top