Дякую всім вам. Тут є кілька чудових порад, і вони вказали мені в правильному напрямку, але жодна не вирішила мого конкретного питання, тому я додам те, що я зрозумів, до горщика. Оскільки, здається, немає правильної відповіді на кожен випадок, спершу я б запропонував запропонувати якнайшвидше протестувати результати.
Швидке тестування редагування
- Тимчасово перемістіть усі ваші іконки svg з папки QGIS svg.
- Зробіть копію файлу svg, над яким ви хочете працювати лише для читання, щоб ви не перезаписали його і помістили його редаговану версію в папку QGIS svg.
- Відкрийте QGIS, завантажте точковий шар для роботи, відкрийте властивості шару та виберіть "SVG маркер".
- Ви можете додатково бажати клацання правою кнопкою миші на файлі svg і тимчасово встановити програму "Відкрити з" за замовчуванням на Блокнот, щоб ви могли просто двічі клацнути по них, щоб змінити їх у Блокноті.
За допомогою цього налаштування ви можете відразу побачити, як QGIS реагує на ваші зміни. Залиште файл SVG відкритим у Блокноті, а панель властивостей відкрита в QGIS. Щоб перевірити результати редагування, просто натисніть Ctrl + S, щоб зберегти його в Блокноті та перейти на QGIS. Щоб перезавантажити svg, змініть тип шару символів на будь-що інше, а потім поверніть його на маркер SVG. Там також є лише один, так що у вас немає проблем з його пошуком. Я перевірив десятки правок дуже швидко, як це. Якщо у вас виникли проблеми з поверненням svg до вихідної форми після редагування, ви можете просто видалити її та зробити ще одну копію.
Зробити SVG Icon редагованим
Проблема, яку я мав, полягала в тому, що конкретний значок, над яким я працював, ніде не мав слів "стиль" або "заливка", тому у мене виникли проблеми з розумінням, куди слід поставити рядок параметра. Описаний Мартиною трюк Inkscape вирішив цю проблему, але у мене є маса їх, і я не хотів відкривати та зберігати кожен у Inkscape, тому я вирішив спробувати пробну помилку та помилку. Дивлячись на код, я міг бачити, що інформація про версію та метадані знаходяться вгорі, а вказівки щодо форми внизу містяться у лапках, які були обмежені на початку <g><path d=
(деякі мають <g><g><path d=
) та в кінці - /></g></svg>
. Після невеликого експерименту я зрозумів, що ставити параметр між path
іd=
працював, але значок був невидимий на панелі вибору, а піктограма на панелі попереднього перегляду вгорі була повністю заповнена чорним кольором. Невидима проблема із значками, здається, була помилкою. Я виправив це, додавши параметр непрозорості, який я опишу нижче. Виявилося, що чорна заливка була лише тому, що ікона була лише 4 мм, і її заповнили лише контури. Щоб виправити це, я зіткнувся з розміром значка до 10 мм (у QGIS) і зіткнувся з контуром до 0,1 (у Блокноті).
Підсумок
Якщо у вашому піктограмі немає місця "style" або "fill", але у нього є цей рядок <g><path d=
(або <g><g><path d=
) прямо перед інструкціями щодо форми, ви зможете додати параметри редагування, замінивши вищевказаний рядок на<g><path fill="param(fill) #FFF" stroke="param(outline) #000" stroke-width="param(outline-width) 1" d=
Якщо межа занадто товста, ви можете її зменшити, змінивши останнє число на дріб, наприклад <g><path fill="param(fill) #FFF" stroke="param(outline) #000" stroke-width="param(outline-width) 0.5" d=
Якщо ви хочете зробити свій значок напівпрозорим, ви можете зробити це, змінивши вищевказаний рядок на цей <g><path style="opacity:0.5;fill:param(fill) #FFF" stroke="param(outline) #000" stroke-width="param(outline-width) 1" d=
. Значення непрозорості може бути від 1 (повністю непрозоре) до 0 (повністю прозоре), а для додаткової точності можна використовувати соті або навіть тисячні частини (наприклад, 0,01). Це ж правило стосується і товщини бордюру.
Якщо у вас їх багато для редагування, ви можете знайти пакетні файли тут на StackExchange, щоб автоматизувати процес пошуку та заміни.