2009-12-01 2 views
7

Я пытаюсь создать приложение для рисования с использованием C#, и до сих пор мне не удалось найти какой-либо универсальный легкий вес 2D-графические рамки или руководства.Что такое хорошая 2D-графика для приложения рисования?

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

В принципе мне нужно что-то простое, что предоставит мне возможность создавать Canvas, Layers, Brushes и возможность импорта/экспорта всех этих вещей. Я просмотрел несколько графических приложений, чтобы увидеть, как они реализовали свои инструменты и посмотрели онлайн на книги и вышли без знания о том, где начинать.

Спасибо, Эндрю

+0

Я вижу, вы обновили это. Получили ли вы возможность взглянуть на SDL.Net? Существуют ли другие функции, которые вы ищете? Что касается мерцающих проблем, о которых вы упомянули ранее, у меня была максимальная визуализация моделирования кадров без хакирования, чтобы заставить ее работать. –

ответ

5

Вы не упомянули, хотите ли вы создать векторный редактор или растровый редактор. Я предполагаю растра.

Если у вас не так много графического API-интерфейса, и вы просто хотите как можно быстрее получить что-то, просто зайдите с GDI +. Это намного проще, чем WPF концептуально.

И GDI +, и WPF могут делать то, что вы хотите. Работа с WPF, вероятно, даст лучшую производительность, поскольку использует ускорение Direct-X. Он также использует парадигму с сохраненной сценой, которая может сделать много операций рисования концептуально проще. Однако кривая обучения намного выше, чем GDI +.

Вы всегда можете использовать Open-GL, Direct-X или неуправляемый GDI. Все они имеют хорошую 2D-производительность. Но вам придется звонить на неуправляемый код.

+0

Спасибо, я имел в виду растровый, обновил мое сообщение соответственно. У меня есть время по этому вопросу, я занимаюсь исследованиями до того, как погрузиться в него. Раньше я использовал GDI +, и мне пришлось взломать много его, чтобы избавиться от мерцания и раздражения, которые он создал, поэтому я боюсь сделать графическое приложение поверх него. – Andrew

+0

Ну, я думаю, WPF или Unmanaged GDI - мои единственные два варианта спасибо :) – Andrew

3

Ну, две вещи.

Один, вы можете посмотреть Paint.Net. Это бесплатная программа .Net для работы с 2D-графикой. Используя модель плагина, вы можете решить любую проблему, над которой вы работаете более легко.

Во-вторых, хорошая 2D-графическая библиотека SDL.Net. Это набор OO-оберток для библиотеки C SDL и делает рисование 2D-изображений довольно простым. Я не знаю, предложит ли он поддержку всем тем более «манипуляционным» вопросам, которые у вас есть.

2

Если вы пытаетесь изучить 2D-графику, WinForms намного легче изучить, чем WPF. WinForms поддерживает кисти, холсты, несколько графических форматов, импорт/экспорт файлов и т. Д.

На сайте Code Project есть много графических уроков WinForms, попробуйте ввести here.

+0

За годы, прошедшие с момента ответа на этот вопрос, я изменил свое мнение и теперь рекомендую WPF. WinForms - тупик. –

1

Рамка XNA проста в использовании и хорошо работает, поскольку на самом деле это всего лишь оболочка для DirectX. Большим преимуществом является то, что вы можете написать весь свой код в управляемом C#. Посмотрите на this post на форуме xna, чтобы узнать, как вы можете просмотреть дисплей для экспорта.

1

Существует также инфраструктура Tao, которая позволяет использовать OpenGL или SDL для ваших потребностей в рисовании. Он также представляет собой набор оберток OO вокруг каждого. В Google также есть несколько учебных пособий для начала работы.

Tao Framework

1

Piccolo 2D является 2d рамки GFX для Java и C#. Бесплатно, с открытым исходным кодом. Предоставляет график сцены и т. Д. Zoomable.Выглядит неплохо.

+0

Я успешно использовал Piccolo в проекте Java. Версия .NET не обновляется с 2005 года, поэтому я ищу что-то похожее для встраивания в приложение WPF. – Emile

Смежные вопросы