Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/40: Рейтинг темы: голосов - 40, средняя оценка - 4.63
34 / 3 / 2
Регистрация: 18.04.2015
Сообщений: 50

Обработка SVG файлов в C#

23.04.2016, 18:58. Показов 7978. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!!!
Возникла необходимость обработки изображения SVG стандарта путем преобразования его в xml файл
Затем пум чтения пропарсить xml файл и найти нужный приметив, и получить нужную информацию о нем.

Вопрос можно ли провести такую манипуляцию в C#?
Если да то какими средствами можно воспользоваться (я чисто интуитивно предполагаю что это LINQ)?

Если кто то работал или слышал об этом накидайте информации и примеров сюда, заранее спасибо за помощь.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.04.2016, 18:58
Ответы с готовыми решениями:

Подключение файлов SVG
Добрый день. Имеется много файлов svg, путь к которым хранится в БД. Подскажите, как лучше всего реализовать вывод svg и добавление ко всем...

Кеширование svg файлов
Как заставить браузер кэшировать svg файлы, настройки .htaccess чет не помогают, все также шлются заголовки без кеша, хотя картинки...

Отрисовка файлов .svg на форме
Всем доброе время суток. :) Собственно суть: реализую вариант игры Змейка, с графическим интерфейсом. Игровое поле задано двумерным...

8
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
23.04.2016, 19:02
GuPixD, SVG - это и так XML, так что ничего никуда преобразовывать не надо. Просто загружай SVG-файл как XML-документ и обрабатывай как тебе нравится.
0
34 / 3 / 2
Регистрация: 18.04.2015
Сообщений: 50
23.04.2016, 19:09  [ТС]
Цитата Сообщение от diadiavova Посмотреть сообщение
GuPixD, SVG - это и так XML, так что ничего никуда преобразовывать не надо. Просто загружай SVG-файл как XML-документ и обрабатывай как тебе нравится.
Спасибо но было бы неплохо неплохо по подробней. На пальцах я и так понимаю что мне нужно сделать.
Суть в том что я не знаю какие инструменты есть для этого (В C#) и было бы неплохо пример кинуть заранее спасибо =).
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
23.04.2016, 19:18
Цитата Сообщение от GuPixD Посмотреть сообщение
На пальцах я и так понимаю что мне нужно сделать.
Ну в первом посте ты написал, что сначала хочешь преобразовать SVG в XML. Так что позволю себе усомниться в том, что это так.
Цитата Сообщение от GuPixD Посмотреть сообщение
Суть в том что я не знаю какие инструменты есть для этого (В C#)
Есть два набора инструментов для работы с XML. Первый представлен классами из пространства System.Xml, второй - System.Xml.Linq. Второй - более удобный, так что лучше использовать его. С помощью Метод XDocument.Load (System.Xml.Linq) можно загрузить файл и работать с объектом документа.
Цитата Сообщение от GuPixD Посмотреть сообщение
и было бы неплохо пример кинуть
Пример чего? Конкретизируй задачу, что именно ты хочешь делать.
0
34 / 3 / 2
Регистрация: 18.04.2015
Сообщений: 50
23.04.2016, 19:30  [ТС]
Цитата Сообщение от diadiavova Посмотреть сообщение
Пример чего? Конкретизируй задачу, что именно ты хочешь делать.
Суть в том что есть SVG изображение, а на нем находится специфический маркер (штрихкод)

И этот маркер нужно найти на изображении. Поэтому я хочу обработать XML файл и найти примитивы этого штрихкода и дальше заниматься обработкой.
Как то так.

Примеров скорее всего подобных нету но возможно кто то занимался поиском объектов на изображении (Квадраты треугольники круги линии и т.д.).
Миниатюры
Обработка SVG файлов в C#  
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
23.04.2016, 19:37
Цитата Сообщение от GuPixD Посмотреть сообщение
Примеров скорее всего подобных нету
Ну, а какого примера ты тогда ждешь? Для того, чтобы что-то искать в XML-документе, надо знать как он устроен. В SVG квадрат может быть представлен элементом rect, но с таким же успехом его можно изобразить и с помощью элемента path, также с помощью этого элемента можно отобразить любую другую фигуру. Таким образом встает вопрос, что мы ищем?
0
34 / 3 / 2
Регистрация: 18.04.2015
Сообщений: 50
23.04.2016, 19:44  [ТС]
Цитата Сообщение от diadiavova Посмотреть сообщение
Ну, а какого примера ты тогда ждешь? Для того, чтобы что-то искать в XML-документе, надо знать как он устроен. В SVG квадрат может быть представлен элементом rect, но с таким же успехом его можно изобразить и с помощью элемента path, также с помощью этого элемента можно отобразить любую другую фигуру. Таким образом встает вопрос, что мы ищем?
Ищу я прямоугольники между зелеными разделителями (вертикальными линиями).
Я предполагая что в SVG файле кроме названия построения объекта rect, path есть свойства.
Высота длинна.
Я возможно ошибаюсь.

А разве примеров о том, что я писал выше (поиск объектов треугольников, кругов и т.д.) нет вообще?
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
23.04.2016, 20:22
Лучший ответ Сообщение было отмечено GuPixD как решение

Решение

Цитата Сообщение от GuPixD Посмотреть сообщение
Я возможно ошибаюсь.
Нет не ошибаешься. Просто я говорю, что даже если искать без свойств, то есть свои сложности. Чем больше параметров поиска - тем сложнее искать.
Цитата Сообщение от GuPixD Посмотреть сообщение
А разве примеров о том, что я писал выше (поиск объектов треугольников, кругов и т.д.) нет вообще?
Во вложении прикреплен простой пример. Взял SVG из спецификации, там прямоугольники. Программа загружает документ, ищет в нем все прямоугольники и выводит немного информации о них на консоль. Не думаю, что тебе это сильно поможет, но поскольку примера документа, который ты хочешь обрабатывать нет, стало быть это все что я могу для тебя сделать. Удачи.
Вложения
Тип файла: zip svgSample.zip (33.0 Кб, 82 просмотров)
1
34 / 3 / 2
Регистрация: 18.04.2015
Сообщений: 50
23.04.2016, 20:58  [ТС]
Цитата Сообщение от diadiavova Посмотреть сообщение
Нет не ошибаешься. Просто я говорю, что даже если искать без свойств, то есть свои сложности. Чем больше параметров поиска - тем сложнее искать.Во вложении прикреплен простой пример. Взял SVG из спецификации, там прямоугольники. Программа загружает документ, ищет в нем все прямоугольники и выводит немного информации о них на консоль. Не думаю, что тебе это сильно поможет, но поскольку примера документа, который ты хочешь обрабатывать нет, стало быть это все что я могу для тебя сделать. Удачи.
Спасибо за помощь и подсказку в каком направлении искать.

Если не забуду потом результат скину.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.04.2016, 20:58
Помогаю со студенческими работами здесь

Svg.js и svg.draggable.js - import модулей
Уважаемые, у меня проект на node js, мне нужно подключить библиотеку svg.js делаю import * as SVG from 'svg.js'; далее мне...

QT += svg .ошибка: Unknown module(s) in QT: svg
хочу подключить модуль полностью, чтобы не по одиночке влючать туда классы QtSvgRender и т.п. QT += svg в .pro прописал, но выдает ошибку...

Обработка файлов с созданием и использованием файла со списком имён файлов, исключаемых при данной обработке
Эх, чтобы я без вас делал то ;) Доброго времени суток! Задача сценария: просматривать файлы в текущей директории и если их нету в...

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

Обработка файлов
Дана программа вычисления значения выражения: Program L1; var x,y:integer; A,M,tg:real; begin writeln('Enter x,y'); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru