Создание векторной грфики EMF, WMF в .NET

Eusstas
Дата: 08.07.2014 12:50:27
Всем привет.
Есть ли в .NET возможность рисовать в контексте Metafile, т.е. рисовать именно векторную графику, а не png, обёрнутое в EMF или WMF?
petalvik
Дата: 08.07.2014 13:03:23
Что-то в этом духе:

using (var gr = Graphics.FromHwnd(IntPtr.Zero))
{
    var hdc = gr.GetHdc();

    using (var metafile = new Metafile("Sample.emf", hdc))
    using (var g = Graphics.FromImage(metafile))
    {
        // something draw
        g.DrawRectangle(Pens.Blue, 0, 0, 100, 50);
        g.FillEllipse(Brushes.Yellow, 10, 10, 80, 30);
        g.DrawString("Hello World!", Font, Brushes.Red, 0, 0);
    }

    gr.ReleaseHdc(hdc);
}
Cat2
Дата: 08.07.2014 20:35:09
Eusstas
Всем привет.
Есть ли в .NET возможность рисовать в контексте Metafile, т.е. рисовать именно векторную графику, а не png, обёрнутое в EMF или WMF?

Вроде бы в нете вся графика - векторная
Изопропил
Дата: 08.07.2014 20:40:41
Cat2
Вроде бы в нете вся графика - векторная

она в винформах - GDI+
в WPF - в основе Direct3D c возвратом к GDI в случае отсутствия поддержки Direct3D(терминальный сервер и тп)
Cat2
Дата: 08.07.2014 21:12:18
Изопропил
в WPF - в основе Direct3D

Что-то я сомневаюсь.
Изопропил
Дата: 08.07.2014 21:23:52
Cat2
Изопропил
в WPF - в основе Direct3D

Что-то я сомневаюсь.

http://msdn.microsoft.com/en-us/library/ms750441(v=vs.110).aspx
Cat2
Дата: 08.07.2014 21:45:51
Изопропил
Cat2
пропущено...

Что-то я сомневаюсь.

http://msdn.microsoft.com/en-us/library/ms750441(v=vs.110).aspx

Ага. DirectX поддерживается через неуправляемый код, импортированный из User32. Дык многое можно из API вытащить.
Изопропил
Дата: 08.07.2014 21:49:43
Cat2,

здесь лучше описано - http://professorweb.ru/my/WPF/base_WPF/level1/1_6.php

обрати внимание на роль milcore в отрисовке wpf
Cat2
Дата: 08.07.2014 21:58:43
Изопропил
здесь лучше описано - http://professorweb.ru/my/WPF/base_WPF/level1/1_6.php

Да мне плевать, как описано. Запустите приложенный ранее файл и увидите лажу.
Изопропил
Дата: 08.07.2014 22:10:58
Cat2
Изопропил
здесь лучше описано - http://professorweb.ru/my/WPF/base_WPF/level1/1_6.php

Да мне плевать, как описано. Запустите приложенный ранее файл и увидите лажу.

это докажет что рендеринг WPF не использует Direct3D?