Как я могу создать .PS, .SVG, & .PNG для записи в графический объект? - PullRequest
0 голосов
/ 30 мая 2018

Я хочу создать разные векторные и растровые файлы, записав объект Graphics.Есть ли способ сделать это, когда он предоставит объект Graphics, который я могу создать одинаково и получить каждый из этих выходных данных?

(Java имеет это построенное вокруг объекта Graphics2D, я надеюсь, что .NET имеетто же самое.)

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

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

Я никогда не пробовал привязывать его к .net, но я полагаю, что они в порядке: https://forums.dotnetfoundation.org/t/the-cairo-c-binding-has-been-ported-to-net-core/2075, https://github.com/zwcloud/CairoSharp

0 голосов
/ 30 мая 2018

Вы можете использовать растровый объект для растровой графики.Например,

using(Bitmap bitmap = new Bitmap(100,100))
{
    using(Graphics g = Graphics.FromImage(bitmap))
    {
        // draw to graphics object
        ...
        // save the image. the second parameter specifies the format
        // you can use bmp, emf, gif, png, jpeg, ...
        bitmap .Save("pathToFile",ImageFormat.Bmp)

    }
}

Векторная графика более сложная.Вам, вероятно, придется искать библиотеки для каждого формата векторной графики.

...