Рисование SVG в.NET/C#? [закрытый]

MSSQL не поддерживает BEFORE триггеры. Самое близкое, которое Вы имеете, INSTEAD OF триггеры, но их поведение отличается от что BEFORE триггеры в MySQL.

можно узнать больше о них здесь и отметить, что INSTEAD OF триггеры "Определяют, что триггер выполняется вместо SQL-оператора инициирования, таким образом переопределяя действия операторов инициирования". Таким образом действия с обновлением не могут произойти, если триггер правильно не пишется/обрабатывается. Каскадные действия также затронуты.

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

65
задан liori 6 October 2009 в 12:57
поделиться

3 ответа

Вот код для перечисления аудиоустройств на C # с использованием WMI (ссылка System.Management).

    ManagementObjectSearcher objSearcher = new ManagementObjectSearcher(
           "SELECT * FROM Win32_SoundDevice");

    ManagementObjectCollection objCollection = objSearcher.Get();

    foreach (ManagementObject obj in objCollection)
    {
        foreach (PropertyData property in obj.Properties)
        {
            Console.Out.WriteLine(String.Format("{0}:{1}", property.Name, property.Value));
        }
    }

В результате получается что-то вроде:

Availability:
Caption:USB Audio Device
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_SoundDevice
Description:USB Audio Device
DeviceID:USB\VID_047F&PID_0CA1&MI_00\6&2C037688&0&0000
DMABufferSize:
ErrorCleared:
ErrorDescription:
InstallDate:
LastErrorCode:
Manufacturer:(Generic USB Audio)
MPU401Address:
Name:USB Audio Device
PNPDeviceID:USB\VID_047F&PID_0CA1&MI_00\6&2C037688&0&0000
PowerManagementCapabilities:
PowerManagementSupported:False
ProductName:USB Audio Device
Status:OK
StatusInfo:3
SystemCreationClassName:Win32_ComputerSystem
SystemName:
Availability:

Caption:Realtek AC'97 Audio for VIA (R) Audio Controller
ConfigManagerErrorCode:0
ConfigManagerUserConfig:False
CreationClassName:Win32_SoundDevice
Description:Realtek AC'97 Audio for VIA (R) Audio Controller
DeviceID:PCI\VEN_1106&DEV_3059&SUBSYS_09011558&REV_60\3&61AAA01&1&8D
DMABufferSize:
ErrorCleared:
ErrorDescription:
InstallDate:
LastErrorCode:
Manufacturer:Realtek
MPU401Address:
Name:Realtek AC'97 Audio for VIA (R) Audio Controller
PNPDeviceID:PCI\VEN_1106&DEV_3059&SUBSYS_09011558&REV_60\3&61AAA01&1&8D
PowerManagementCapabilities:
PowerManagementSupported:False
ProductName:Realtek AC'97 Audio for VIA (R) Audio Controller
Status:OK
StatusInfo:3
SystemCreationClassName:Win32_ComputerSystem
SystemName:
Availability:

WMI досадно не различает просто устройства ввода и вывода для звука. Однако с помощью управляемого интерфейса DirectSound и класса DevicesCollection которые используют SvgNet для перевода между SVG и GDI +. Это означает, что любой код, использующий GDI + для рисования графика может легко выводить SVG как ну, просто подключив Объект SvgGraphics. Этот объект точно так же, как обычный .NET Графический объект, но создает SVG дерево. Даже такие вещи, как штриховая заливка и реализованы привязки линий.

38
ответ дан 24 November 2019 в 15:32
поделиться

Поскольку SVG в основном является XML-документом, вы можете реализовать «рисование» сами. Проверьте спецификации на W3C SVG spec . Я сделал это один раз, чтобы сгенерировать изображения подписи SVG, все, что потребовалось, это пара часов и firefox, чтобы проверить сгенерированное изображение.

Конечно, это применимо, если вы генерируете изображение на основе ввода пользователя или если вы не против потратить время преобразования из другого формата векторного изображения.

PS вы можете создать свою собственную оболочку для имитации System.Drawing.Graphics, например DrawLine () для добавления во внутренний буфер и т. д.

3
ответ дан 24 November 2019 в 15:32
поделиться

Я использовал этот http://svg.codeplex.com/ , и он меня вполне устраивает. По-прежнему есть некоторые ошибки, поэтому вам следует взглянуть на патчи в http://svg.codeplex.com/SourceControl/PatchList.aspx .

Когда я обнаруживаю ошибки, которые могу исправить, я публикую их напрямую там. Но чтобы там ребята оценили, нужно время. Лучше посмотреть на исправления и применить их самостоятельно.

Библиотеки достаточно для большинства обычных нужд. для действительно причудливых вещей его нужно доработать ...

7
ответ дан 24 November 2019 в 15:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: