1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ts_ohos-ohossvg

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 15.03.2025 23:35 7fb1df4

androidsvg

Этот проект представляет собой адаптацию открытого проекта BigBadaboom/androidsvg для использования с HarmonyOS. Вы можете отслеживать исходный проект через его метки и адрес GitHub https://github.com/BigBadaboom/androidsvg.

Переделанная версия: Release_1.4

1. Описание проекта

Название проекта: androidsvg

Серия: Адаптация сторонних компонентов для HarmonyOS

Функционал:

  1. Реализует функцию анализа и рендера изображений в формате SVG;
  2. Поддерживает больше элементов SVG и CSS-стилей;

Состояние передела:

  1. Основные функции уже были переделаны;
  2. Добавлен модуль demo для демонстрации работы.

Различия при вызове: нет

Адрес документации исходного проекта: http://bigbadaboom.github.io/androidsvg/index.html

Язык программирования: Java

2. Интеграция

Вариант 1

  1. Скачайте или самостоятельно скомпилируйте файл .har для androidsvg, путь к файлу: ./demo/libs/ohossvg-debug.har.
  2. При самостоятельной компиляции обратите внимание на необходимость добавления подписи.
  3. Импортируйте этот файл в директорию ./libs вашего проекта HarmonyOS.
  4. Убедитесь, что зависимость указана в файле build.gradle модуля, implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']).
  5. Используйте в коде.### Вариант 2:
  6. В файле build.gradle корневой директории добавьте mavenCentral():
    // Верхнеуровневый файл сборки, где вы можете добавить общие конфигурационные опции для всех подпроектов/модулей.
    ...
    buildscript {
        repositories {
            ...
            mavenCentral()
        }
        ...
    }```   все проекты {
        репозитории {
            ...
            mavenCentral()
        }
    }
  7. В файле build.gradle директории модуля добавьте:
    ...
    зависимости {
        ...
        реализация 'com.gitee.ts_ohos:androidsvg-for-ohos:1.0.1'
    }

3. Пример использования

Дополнительные примеры использования можно найти в модуле demo этого проекта, а также в документации исходного проекта JavaDoc и документации для OHOS. Java doc: https://gitee.com/ts_ohos/androidsvg-for-ohos/tree/ohos_main/doc

Основные методы использования следующие:

/** Чтение SVG */

/** Создание объекта SVG из InputStream. */
public static SVG getFromInputStream(java.io.InputStream is)
    throws SVGParseException

Генерация объекта SVG из строки SVG.

/**
 * Создает объект SVG из строки SVG.
 */
public static SVG getFromString(java.lang.String svg)
    throws SVGParseException

Генерация объекта SVG из ресурса HAP.

/**
 * Создает объект SVG из ресурса HAP.
 */
public static SVG getFromResource(Context context, int resourceId)
    throws SVGParseException

Генерация объекта SVG из ресурса HAP rawfile.

/**
 * Создает объект SVG из ресурса HAP rawfile.
 */
public static SVG getFromAsset(ResourceManager resManager, String filename)
    throws SVGParseException, IOException
### Отрисовка SVG

```java
/**
 * Отрисовывает объект SVG в объект Picture.
 */
public void renderToCanvas(Canvas canvas)

/**
 * Отрисовывает объект SVG в объект Canvas с указанием области просмотра.
 */
public void renderToCanvas(Canvas canvas, RectF viewPort)
/**
 * Открывает внешние файлы.
 */
public class CachingImageLoader extends SVGExternalFileResolver {
    private static final String RESOURCE_PRE_FIX = "resources/rawfile/";
    private ResourceManager assetManager;
    private HashMap<String, PixelMap> cache = new HashMap<>();
``````markdown
## 4. Демонстрация эффектов
**1. Парсинг и рендеринг SVG в PixelMap**
**2. Парсинг и рендеринг SVG с применением CSS стилей**
**3. Парсинг и рендеринг SVG, отображение через SVGImageView с использованием AnimatorValue и CSS стилей для анимации**
**4. Парсинг и рендеринг SVG, отображение через SVGImageView с использованием AnimatorValue и CSS стилей для анимации. Также парсинг и отображение других статических изображений, привязанных внутри SVG**
```**Примечание: В демонстрационных GIF файлах эффект плавного изменения прозрачности пока недоступен**

<img src="./pic/demo_1.gif" width="200"><img src="./pic/demo_2.gif" width="200"><img src="./pic/demo_3.gif" width="200"><img src="./pic/demo_4.gif" width="200">

## 5. Версионирование
- v1.0.0 Оригинальная версия проекта, первое представление.
- v1.0.1 Обновление API HarmonyOS до версии 5.

## 6. Информация о версии и лицензии
- Лицензия Apache License 2.0
- [https://gitee.com/ts_ohos/androidsvg-for-ohos/blob/ohos_main/LICENSE](https://gitee.com/ts_ohos/androidsvg-for-ohos/blob/ohos_main/LICENSE)

Разрешено использование данного файла в соответствии с условиями Лицензии Apache, Версия 2.0 ("Лицензия").

Вы можете получить копию Лицензии по адресу:

http://www.apache.org/licenses/LICENSE-2.0

Если законодательство или письменное соглашение не требуют этого, программное обеспечение, распределённое в рамках данной Лицензии, предоставляется «как есть», без каких-либо гарантий или условий любого типа, включая явные или подразумеваемые гарантии.

См. Лицензию для получения информации о конкретных условиях использования и ограничений, предусмотренных Лицензией.


Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/ts_ohos-ohossvg.git
git@api.gitlife.ru:oschina-mirror/ts_ohos-ohossvg.git
oschina-mirror
ts_ohos-ohossvg
ts_ohos-ohossvg
ohos_main