SVGICONIMAGELIST
Три двигателя для рендеринга SVG (Delphi Image32, Skia4delphi, Direct2D -обертка) и четыре компонента для упрощения использования изображений SVG (Resrize, FixedColor, Greyscale ...)
Фактическая официальная версия 4.3.0 (VCL+FMX)
| Компонент | Описание |
|---|
 | TSVGICONIMageCollection - это коллекция изображений SVG для Delphi, чтобы предоставить централизованный список изображений для svgiconvirtualualimagerists (только для VCL) |
 | TSVGICONVIRTUALIMAGELIST - это особый «виртуальный» Иимпел для Delphi, связанный с SVGICONIMageCollection (только для VCL), чтобы упростить использование значков SVG (изменения размера, непрозрачности, серого и многое другое ...) |
 | TSVGICONIMAGE является расширенным компонентом изображения для Delphi (VCL+FMX), чтобы показать любое изображение SVG напрямую или включенное в SVGICONIMAGELIST со всей функциональностью (растяжение, непрозрачность, серая и многое другое ...) |
 | TSVGICONIMAGELIST является расширенным изображением Delphi (VCL+FMX) со встроенной коллекцией изображений SVG. Используйте этот компонент, чтобы упростить замену Imagelist для старых приложений Delphi и получить автоматическую масштаб значков! |
Теперь вы можете искать и загружать значки непосредственно из Интернета!
Из версии 4.3 интегрированная служба теперь доступна в редакторе компонентов для загрузки значков SVG из Интернета через API, предоставленный iConify.Design.
Теперь вы можете выбрать «Добавить из Интернета» в редакторе компонентов: новая форма для поиска и загрузки в Интернете доступна как для платформ VCL, так и для FMX.

Прочитайте страницу Wiki, чтобы понять, как легко загрузить значки SVG из Интернета и включить их в Svgiconimagelist или Svgiconimagecollection.
Важное уведомление
От версии 4.0, TSVGICONVIRTUALIMAGELIST FIST TVIRTUALIMAGELIST (используя Delphi 10.3 до последних). Для предыдущих версий Delphi TSVGICONVIRTULATIMAGELIST FIR TSVGICONIMAGELISTBASE .
Важным отличием является то, что TVirtualualist может использовать и создавать только подмножество изображений в коллекции.
Несмотря на то, что у стандартного Tvirtualualistist не обладает свойства FixedColor, Greyscale, ApplytorOutonly и непрозрачность, эти свойства существуют на TSVGICONIMageCollection, и они будут отражены на связанном телевизионном виде, но если вы измените эти свойства на уровне коллекции, все измененные виртуальные изменения!
По этим причинам, теперь у TSVGICONVIRTUALIMAGELIST также есть фиксированные свойства, серо -серые, применимые и непрозрачные свойства, так что вы можете настроить эти свойства только на уровне виртуалимагелиста, и вы можете поделиться теми же TSVGICONIMageCollection от многих виртуалимагелистов с различными папами, как вы можете видеть в новом SVGICLIRITRIRITRIRITRIRITIRITIRITIRITIRITIRITIRITIRITRIMGELIRITIRITIRITISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTISTIST с различными
По этой причине, если вы используете эти компоненты из Delphi 10.3, рекомендуемой комбинацией должна быть TSVGICONIMageCollection + TSVGICONVIRTUALIMAGELIST .
Не забывайте также о важности PreserveItems, когда у вас есть большое изображение со многими связанными действиями. Не настраивая это свойство на «true», каждый раз, когда вы добавляете или удаляете значок в коллекции, вы должны проверить и изменить ImageIndex всех действий.
Другая функция, доступная в версии Delphi 10.4, заключается в том, что TSVGICONIMageCollection наследство от TcustomimageCollection, так что вы также можете использовать его с компонентом TVirtualImage и поместите значки SVG в компонент TCONTROLLIST, как объяснено здесь ...
Выберите свой предпочтительный двигатель SVG!
Есть три реализации:
Native Delphi Image32 (по умолчанию), использует библиотеку Image32 от Angus Johnson
Использование библиотеки Skia4delphi , кроссплатформенного 2D-графического API на основе библиотеки Google Skia Graphics
Обертка для собственной реализации Windows Direct2D
Вы можете прочитать больше подробности здесь.
Сравнение производительности
В этой таблице показана производительность трех двигателей рендеринга, протестированных с помощью SVGEXPLORER, используя значительное количество значков из разных наборов, отображаемых в 128x128 пикселях.
| Считать | Набор значков | Image32 | D2D | Skia4delphi |
|---|
| 997 | Шрифт-удивительный | 1265 мс | 1453 мс | 1172 мс |
| 654 | Папирус | 2750 мс (1) | 937 мс | 1266 мс (1) |
| 5366 | Материал-дизайн | 11015 мс | 12001 мс | 10688 мс |
Как видите, три двигателя работают по -разному в зависимости от икон и их сложности.
(1) Обратите внимание, что Image32 и Skia4delphi являются единственными двигателями, способными создавать эффект размытия (который всегда медленно расчет): это является причиной «медленной» производительности для визуализации икон папируса, которые содержат эффект размытия.
Доступно от Delphi XE3 до Delphi 12 (VCL и FMX платформы)

Связанные ссылки: Embarcadero.com - LearnDelphi.org
Пример изображения версии VCL

Пример изображения версии FMX (Windows)

Образцы изображений редактора VCL SVGTEXT-Property (VCL и FMX)


Коммунальные услуги
Демонстрация SVG Viewer полезна для проверки качества рендеринга доступных двигателей.
Утилита SVG Icon Explorer полезна для изучения и предварительного просмотра ваших коллекций изображений SVG.
Вы можете использовать расширения оболочки SVG, если вы хотите увидеть свои значки непосредственно в Windows Explorer или хотите отредактировать их, используя мощный текстовый редактор SVG .
Документация
Следуйте руководству в разделе Wiki, чтобы узнать, как использовать эти компоненты для модернизации ваших приложений Delphi VCL или FMX Windows, масштабируемых, цветных и красивых с несколькими линиями кода.
Другая похожая библиотека
Аналогичный проект, созданный Ethea для шрифтов иконы: https://github.com/etheadev/iconfontsimagelist
Выпуск заметок
26 ноября 2024 года: версия 4.3.0 (VCL+FMX)
- Обновлено до Image32 4.6 выпущено 26 ноября 2024 года, чтобы исправить текст рисования проблем внутри SVG
- Пространство имен добавлено ко всему использованию
- Добавлен пакет SvgiconimageListRestClient
- Новая опция в редакторе компонентов для выбора значков из Интернета (VCL и FMX)
- Демо обновлены
17 октября 2024 года: версия 4.2.1 (VCL+FMX)
- Обновлено до Image32 4.6, выпущено 16 октября 2024 года, чтобы решить проблему рисования
12 октября 2024 года: версия 4.2.0 (VCL+FMX)
- Обновлено до Image32 4.6 выпущено 12 октября 2024 года, чтобы решить проблему рисования
- Добавлена информация о компонентах в и брызговидный экран
14 сентября 2024 года: версия 4.1.9 (VCL+FMX)
- Выровнен с Image32 4.5 версии 14 сентября 2024 года.
- Ошибка фиксированного диапазона рендеринг некоторых значков (двигатель Image32)
- Исправлен значок переименования в редакторе ImageList FireMonkey
- Aggiornamento Packages delphi 12.2
27 августа 2024 года: версия 4.1.8 (VCL+FMX)
- Выровнен с Image32 4.5 версии 18 августа 2024 г.
- Фиксированный рендеринг с непрозрачностью для двигателей Skia4delphi и D2D
13 августа 2024 года: версия 4.1.7 (VCL+FMX)
- Обновленные пакеты для компиляции с Skia4delphi (определяется svgiconimagelist.inc)
- Фиксированное использование для Skia Unit
- Выровнен с Image32 4.5 версии 11 августа 2024 г.
18 июля 2024 года: версия 4.1.6 (VCL+FMX)
- Выровнен с изображением32 4.5 версии 17 июля 2024 года.
- Фиксированный цвет значков в Android
- Добавлено определить для использования старого диалога OpenPicture в редактор компонентов.
22 мая 2024 года: версия 4.1.5 (VCL+FMX)
- Исправлена TSVGICONIMAGELISTBASE.Assign
- Фиксированная регистрация tsvgiconimagecollection для проектов FMX
- Выровнен по версии Image32 14 мая 2024 года
05 мая 2024 года: версия 4.1.4 (VCL+FMX)
- Выровнен с последним изображением32 вер. 4.4
19 апреля 2024 года: версия 4.1.3 (VCL+FMX)
- Выровнен к последнему изображению32
- Фиксированная компиляция с macosx
- Добавлена поддержка Delphi 12.1
08 января 2024 года: версия 4.1.2 (VCL+FMX)
- Выровнен к последнему изображению32
- Добавлена копия SVG в буфер обмена в диалог "Экспорт в PNG"
- Обновленные авторские права
09 ноября 2023 года: версия 4.1.1 (VCL+FMX)
- Выровнен с Skia4delphi 6.0.0
- Добавлены компоненты FMX на всю платформу
- Фиксированные демонстрации для Delphi 12
- Добавлена опция svgdisableenginehint
03 сентября 2023 года: версия 4.1.0 (VCL+FMX)
- Библиотека выровненного изображения32 выпущена 09.09.2023
- Фиксированная демонстрация (удаленное «устаревшее» использование SVGColor)
- Добавлена поддержка Delphi 12.1
24 августа 2023 г.: версия 4.0.0 (VCL+FMX)
- Удален старый «нативный» двигатель TSVG
- Обновлено до Skia4delphi Ver. 6.0.0
- TSVGICONVIRTUALIMAGELIST FIRSIS TVIRTUALIMAGELIST (от D10.3 до фактической версии).
- Добавлены svgiconvirtualiMageListDemo, чтобы проверить несколько TsvgiconvirtualiMagelist в той же форме
- Добавлена поддержка Delphi 12
28 февраля 2023 года: версия 3.9.6 (VCL+FMX)
- Обновлено до Image32 вер. 4.4 (30 января 2023 г.)
- Обновлено до Skia4delphi Ver. 4.1.1 (26 февраля 2023 г.)
13 января 2023 года: версия 3.9.5 (VCL+FMX)
- Обновлено Copyright 2023
- Обновлено до Image32 вер. 4.3 (27 сентября 2022 г.)
- Обновлено до Skia4delphi Ver. 4.0.2
23 октября 2022 года: версия 3.9.4 (VCL+FMX)
- Редактор компонентов FMX: Измененный выбор для фиксированного цвета
- Обновлено до Image32 вер. 4.3 (27 сентября 2022 г.)
15 сентября 2022 года: версия 3.9.3 (VCL+FMX)
- Снятые стили W11 из демонстрации (доступны в Delphi только Get-It)
- Обновленные пакеты D11 до Delphi 11.2
28 августа 2022 года: версия 3.9.2 (VCL+FMX)
- Исправлено #240 tsvggraphic.assign
- Обновлено до Image32 вер. 4.2 (28 июля 2022 г.)
- Обновлено до библиотеки Skia4delphi 3.4.1
- Исправлено выравнивание #241 из элементов источника и назначения (FMX)
21 июня 2022 года: версия 3.9.1 (VCL+FMX)
- Добавлена поддержка других версий Delphi (VCL): D10 Seattle
08 мая 2022 года: версия 3.8.3 (VCL+FMX)
- Обновлено до библиотеки Skia4delphi 3.4.0
- Пример svgexplorer перенесен под папкой "демонстрации"
10 апреля 2022 года: версия 3.8.2 (VCL+FMX)
- Обновлено до Skia4delphi 3.3.1 Llibrary
- Обновлено до библиотеки Image32 4.11
29 марта 2022 года: версия 3.8.1 (VCL+FMX)
- Фиксированный аспект-рационе для Skia Engine
- Обновлен Svgviewer
- Обновленные демонстрации
- Выравнивание в последнюю версию Skia4delphi
17 марта 2022 года: версия 3.8.0 (VCL+FMX)
- Поддержка Delphi 11.1
- Обновленный библиотечный суффикс для Delphi 10.4 и 11 - (Авто)
09 марта 2022 года: версия 3.7.0 (VCL+FMX)
- Поддержка Skia4delphi 3.2.0 завершена
- Удаленная поддержка каирского двигателя
- Фиксированный рендеринг с изображением32
28 февраля 2022 года: версия 3.6.0 (VCL + FMX)
- Поддержка Skia4delphi также на платформах FMX
26 февраля 2022 года: версия 3.5.2 (VCL+FMX)
- Фиксированный рендеринг с FMX-Image32
23 февраля 2022 года: версия 3.5.1 (VCL+FMX)
- Обновленная библиотека Image32 до версии 4.1.0
- Обновленная поддержка Skia4delphi 3.1.0
19 февраля 2022 года: версия 3.5.0 (VCL+FMX)
- Обновленная библиотека Image32 до версии 4.0.2
- Обновленная поддержка Skia4delphi 3.0.3
- Исправлен редактор SVGTEXT
- Исправлена некоторая рендеринг skia4delphi svg
14 февраля 2022 года: версия 3.4.0 (VCL+FMX)
- Обновленная библиотека Image32 до версии 4.0.1
- Добавлена поддержка Skia4delphi 3.0
- Исправлена некоторая проблема рисования Image32
13 января 2022 года: версия 3.3.0 (VCL+FMX)
- Обновленная библиотека Image32 до версии 4.0.0
- Добавлен набор игровых карт примеров SVG
- Исправлена проблема с рисунком Image32 с «играми в карты»
24 ноября 2021 года: версия 3.2.0 (VCL+FMX)
- Редакторы компонентов используют темы IDE (свет, темный ...) и стиль
- Исправлены доступные компоненты в палитру при работе с мобильными платформами
05 ноября 2021 года: версия 3.1.1 (VCL+FMX)
- Фиксированная задача рисования Image32 в FMX
- Добавлен экспорт в несколько файлов PNG в редактор компонентов
31 октября 2021 года: версия 3.1.0 (VCL+FMX)
- Обновленная библиотека Image32 до версии 3.4.1
- Добавлен двигатель Skia4delphi (не завершен)
28 августа 2021 года: версия 3.0.0 (VCL+FMX)
- Обновленные пакеты для Delphi 11
- Обновлено некоторую документацию (изображения и вики)
24 августа 2021 года: версия 2.5.0 (VCL+FMX)
- Выровнен с Image32 Библиотека версии 33.1
22 июля 2021 года: версия 2.4.0 (VCL+FMX)
- Обновлено и выровнен с Image32 Ver.3 Библиотека
- Добавлены пакеты для Delphi 11 Alexandria
18 июля 2021 года: версия 2.3.1 (VCL+FMX)
- Фиксированные файлы рендеринга с цветом, определенным 8 цифр
17 июля 2021 года: версия 2.3.0 (VCL+FMX)
- Добавлен новый двигатель: библиотека Image32 от Angus Johnson (VCL+FMX)
- Image32 теперь является нативным двигателем Delphi по умолчанию
- Добавлена поддержка платформ Android и iOS (от Image32 Engine)
- Добавлена поддержка версий Delphi (от XE3)
- Добавлена демонстрация для сравнения четырех двигателей (Svgviewer)
- Фиксированный рендеринг «центрирован» в Svgiconimage для каирского двигателя.
- ПРЕДУПРЕЖДЕНИЕ: Измененный предк компонента TSVGICONIMAGE от TcustomControl на tgraphicControl
18 апреля 2021 года: версия 2.2.6 (VCL+FMX)
- Добавлена новая собственность ApplixedColortorOutonly
- Добавлена демонстрация для нового компонента TCONTROLLIST (только для D10.4.2)
22 февраля 2021 года: версия 2.2.5 (VCL+FMX)
- Добавлен экспорт в опцию PNG в редактор компонентов
23 января 2021 года: версия 2.2.4 (VCL+FMX)
- Исправлен #156 растяжение для svgiconimage
- Исправлен #157 Svgiconimage получает правильное изображение от виртуалимагелиста
17 января 2021 года: Версия 2.2.3 (VCL+FMX)
- Исправлена проблемы с антиалиазиатом #151
- Фиксированные настройки разной ширины и высоты в редактор
- Фиксированный предварительный просмотр значка с различной высотой и шириной в редактор
24 декабря 2020 года: версия 2.2.2 (VCL+FMX)
- Добавлена ширина, высота и масштабирование для компонентов FMX
- Переработанный редактор компонентов FMX
- Фиксированный редактор компонентов VCL
08 декабря 2020 года: версия 2.2.1 (VCL+FMX)
- Добавлены 64 -битные платформы для пакетов
- Незначительные исправления (пустые, кроме блоков)
- Фиксированный tsvgiconimage наследственный цвет
- Исправлен перекрашение для версии FMX
23 сентября 2020 года: версия 2.2.0 (VCL+FMX)
- Добавлен двигатель SVG "Каир"
- Добавлен Antialiascolor в совершенствование эффекта Antialias
- Добавлен редактор свойств ImageIndex для svgiconimage
- Добавлен FixedColor и GreyScale в компонент TSVGICONIMAGE
16 сентября 2020 года: версия 2.1.1 (VCL) 2.1.0 (FMX)
- Исправлены проблемы ( #110, #111, #113)
- Редактирование текста SVG в редакторе показывает ошибки без потери контента
04 сентября 2020 года: версия 2.1.0 (VCL) 1.5.1 (FMX)
- Добавлен предварительный просмотр для значков при загрузке файлов SVG
- Исправлено много выпуска ( #81, #86, #87, #88, #91, #94, #103 ...)
- Рефакторирование диаграммы XML для повышения производительности (с использованием Xmllite)
26 августа 2020 года: версия 2.0 (VCL) 1.5.0 (FMX)
- Добавлена фабрика по выбору двигателя
- Добавлен интерфейс для использования альтернативного стороннего двигателя SVG
- Редактор переработанного компонента для поддержки категорий для значков
- Новая поддержка нативного виртуалимагелиста (от D10.3)
- Значки StoreAstext в DFM по умолчанию (и уникальный режим)
- Исправлено много вопросов (с #35 до #72) позаботьтесь о TSVGICONVirtualImageList.Collection, переименованном в SvgicOnvirtualImageList.ImageCollection.
17 августа 2020 года: версия 1.9 (VCL+FMX)
- FixedColor изменилась с TSVGColor на TCOLOR
- Фиксированное назначение фиксированного значка в редакторе компонентов
- Обновленный редактор компонентов для использования tcolorbox
13 августа 2020 года: версия 1.8 (VCL+FMX)
- Полный рефакторинг для полной поддержки высокого DPI
- Новый компонент svgiconimagecollection
- Новый компонент svgiconvirtualiMagelist
- Редизайн компонента SVGICONIMAGELIST и редактора компонентов
- Демо, обновленная для тестирования многомонитора с различным DPI
- Фиксированная проблема № 20: координаты двойными (методы Paintto)
- Фиксированная проблема № 25: Матрица преобразования ошибочно проанализирована
- Исправленная проблема № 26: Ошибка в Calcmartrix
- Фиксированная проблема № 27: TSVGradialGradient.Readin не читает матрицу GradientTransform
- Фиксированная проблема № 28: Цвета должны быть изменены в TSVgradialGradient
- Фиксированная проблема № 29: масштабирование должно основываться на ширине/высоте Viewbox
- Исправленная проблема № 31: Пустые свойства SVG вызывают исключения
- Исправленная проблема № 33: Атрибут презентации «заполнить правила» не обрабатывается
- Исправлена проблема № 34: Элементы текста исключения вызывают исключения
05 августа 2020 года: версия 1.7 (VCL+FMX)
- Добавлен метод Dpichanged
- Усовершенствованный svgexplorer
- Исправлена проблема № 20: заменен вдвое
- Исправленная проблема № 19 и 18 #: Неэффективность нагрузки/SavetoStream и несоответствия кодирования
- Исправлена проблема № 17: Неправильное преобразование из PT в PX
- Фиксированная проблема № 14: Проблема масштабирования
- Исправлена проблема № 11: несовместимо с перетаскиванием Timagelist
- Исправленная проблема № 6: рендеринг некоторых изображений SVG неверен
15 июля 2020 года: версия 1.6 (VCL+FMX)
- Фиксированный рендеринг на Tbutton! (VCL)
- Исправлено «Применить» в ImageEditor (VCL)
- Добавлен recaramat xml к Imageeditor (VCL)
- Добавлена утилита для изучения значков в диск/папку (Svgexplorer)
- Фиксированный наследственный цветовой чертеж (SVG)
- Фиксированное хранение свойств в DFM в двоичном режиме (VCL)
- Исправлено хранение для некоторых свойств (не храните значения по умолчанию)
13 июня 2020 года: версия 1.5 (VCL+FMX)
- Добавлена поддержка для инвалидов и инвалидов, как у виртуалимагелиста
- Фиксированный рисунок отключен и значки также с Vclstyles Active
09 июня 2020 года: версия 1.4 (VCL+FMX)
- Добавлены серого и фиксированного колора в ImageList для всех значков
- Добавлены серогойс и фиксированный
- Добавлены несколько сложных демонстрационных изображений SVG
- Обновленные демонстрации
06 июня 2020 года: версия 1.3 (VCL+FMX)
- Добавлен редактор свойств для tsvgiconimage.svgtext и tsvgiconitem.svgtext
- Исправлены некоторые проблемы с рисованием с атрибутом преобразования
- Исправлена иконки для пересечения при мониторе изменений DPI
28 мая 2020 года: версия 1.2 (VCL+FMX)
- Полная поддержка Delphi 10.4
- Добавлена поддержка других версий Delphi (VCL): DXE6, DXE8, D10.1
- Добавлена память о положении редактора компонентов
- Фиксированная проблема: редактор значков не содержит добавленных значков
- Фиксированная проблема: SVG с нотацией экспонентов не работает правильно и влияет на отображение изображения
25 мая 2020 года: версия 1.1 (VCL+FMX)
- Добавлен компонент TSVGICONIMAGELISTFMX с передовым редактором компонентов.
- Добавлен компонент tsvgiconimagefmx, чтобы показать SVG в ромагу.
- Демо, чтобы показать, как они работают.
- Очень высокая производительность для строительства сотен икон.
24 мая 2020 года: первая версия 1.0 (VCL)
- Добавлен компонент TSVGICONIMAGELIST с передовым редактором компонентов.
- Добавлен компонент TSVGICONIMAGE, чтобы показать SVG в ромаж.
- Демо, чтобы показать, как они работают.
- Очень высокая производительность для строительства сотен икон.
- Поддержка от Delphi 10.2 до 10.4 Sydney (в ближайшее время появятся другие версии Delphi)
БЛАГОДАРЯ
Эти компоненты используют последующие библиотеки:
Библиотека Image32 от Ангуса Джонсона
Эти файлы включены в папки Image32/Source и Image32/Source/Image32_SVG
Лицензия на программное обеспечение Copyright Boost Версия 1
Библиотека Skia4delphi от Autohors
Эти файлы включены в папку Skia4delphi/Source
Авторское право на лицензию
Большое спасибо Винсенту Парретту и Кириакосу Влахосу за их большое содержать.