Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiNouvellesWebinar

Boostez votre interface utilisateur avec Skia4Delphi – Replay du webinaire

skia4delphi

Qu’est-ce que Google Chrome, Mozilla Firefox, Chrome OS, Android, Flutter et Delphi ont en commun ? Ils ont des graphismes accélérés grâce à Skia. Cette bibliothèque graphique 2D multiplateforme hautes performances prend d’assaut le monde du développement. Il fonctionne avec VCL et FireMonkey sur toutes les plates-formes prises en charge par Delphi. Une seule ligne de code peut rendre vos applications FireMonkey existantes plus rapides, ou aller plus loin et débloquer de nouvelles fonctionnalités pour des interfaces utilisateur à couper le souffle.

Skia4Delphi est un projet open source des lauréats et frères du prix Spirit of Delphi, Paulo César Botelho Barbosa et Vinícius Felipe Botelho Barbosa. Alors, comment utiliser Skia4Delphi et faire passer le développement de votre application au niveau supérieur ? Vous êtes arrivé au bon endroit.

Voici quelques vidéos plus courtes ou vous pouvez regarder le replay complet :

Table des matières

Qu’est-ce que Skia, vous voulez demander?

Imaginez que vous êtes un développeur de logiciels qui doit atteindre toutes les principales plates-formes aujourd’hui. Vos choix traditionnels sont :

  • Indigène
    • Accès direct au matériel
    • Code séparé pour chaque plateforme
    • Une meilleure expérience utilisateur au détriment de la productivité des développeurs
  • Internet/Nuage
    • Code principalement partagé
    • Détaché du matériel
    • Une meilleure productivité des développeurs au détriment de l’expérience utilisateur
sk01-4322124-2

Mais maintenant nous avons… FireMonkey

  • Native Compiled – accès direct au matériel de la plate-forme
  • Multi-plateforme – une base de code pour toutes les plateformes
  • Concepteur visuel basé sur des composants – maximisez la productivité des développeurs
sk02-1924098-2

Comment Skia s’intègre-t-il ici ? Présentation de… Google Skia

  • Google Skia est le moteur graphique open source pour Google Chrome, Android, Flutter, Xamarin, Firefox et bien d’autres.
  • Il fournit des API 2D communes qui fonctionnent sur une variété de plates-formes, en éliminant les complexités de la mise en œuvre des bibliothèques de bas niveau qu’il utilise derrière, telles que Vulkan, DirectX, Metal et autres, en mettant en œuvre de nombreuses optimisations et nouvelles fonctionnalités.
sk08-5574565-2
sk09-9714613-2
  • Construire un projet avec Skia4Delphi + Delphi 11
    • Faire une belle application avec VCL ou FMX
  • Postez-le sur GitHub
    • Incluez des vidéos et des captures d’écran, puis partagez-les sur les réseaux sociaux.
  • Gagnez des prix et acclamez
    • Le grand prix est un Apple M1 Mac Mini afin que vous puissiez profiter de la nouvelle prise en charge d’Apple Silicon dans Delphi 11 Alexandria

Plus de détails à venir : blogs.embarcadero.com/?p=140459

SUIVEZ LE PROJET

Plus de liens

Remarques

  1. Pour la plate-forme Mac, quand GlobalUseMetal est vrai avec GlobalUseSkia, les performances avec le FMX classique sont similaires.
  2. Sur iOS, il n’y a pas de lien partagé (bibliothèques partagées : dll, .so, .dylib), uniquement statique (dans ce cas, .a). Dans ce .a (équivalent à .lib sous Windows), tous les fichiers obj sont générés, cependant, malgré ses 60 Mo, la taille de l’application résultante est beaucoup plus petite, car elle n’est compilée qu’avec les fonctions utilisées. En d’autres termes, il est courant que les bibliothèques statiques soient plus grandes que les bibliothèques partagées, mais la sortie résultante est beaucoup plus petite et ne dépasse pas la taille normale d’une bibliothèque partagée.
sk04-5467807-2
  • JPEG et PNG sont des formats d’image raster/bitmap
  • Le PNG est sans perte, avec une reproduction précise à 100 % de l’image
  • JPEG est avec perte, perdant une certaine fidélité d’image chaque fois qu’il est édité ou compressé

Comparaisons de taille de fichier image

sk05-9265466-2
sk06b-7005265-2
sk07-7735103-2

Animations vectorielles ?

Lottie est un format d’animation basé sur JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design de l’interface utilisateur

  • SVG et Lottie permettent aux concepteurs de créer facilement des modèles d’interface utilisateur fluides et haute résolution. Ensuite, avec Skia4Delphi, vous pouvez faire correspondre parfaitement l’interface utilisateur.
  • Intégrez le mouvement à votre UI/UX
  • Autres utilisations:
    • À propos des écrans, des écrans de démarrage, des programmes d’installation, de l’intégration des utilisateurs, des assistants, etc.
sk08-5574565-2
sk09-9714613-2
  • Construire un projet avec Skia4Delphi + Delphi 11
    • Faire une belle application avec VCL ou FMX
  • Postez-le sur GitHub
    • Incluez des vidéos et des captures d’écran, puis partagez-les sur les réseaux sociaux.
  • Gagnez des prix et acclamez
    • Le grand prix est un Apple M1 Mac Mini afin que vous puissiez profiter de la nouvelle prise en charge d’Apple Silicon dans Delphi 11 Alexandria

Plus de détails à venir : blogs.embarcadero.com/?p=140459

SUIVEZ LE PROJET

Plus de liens

Remarques

  1. Pour la plate-forme Mac, quand GlobalUseMetal est vrai avec GlobalUseSkia, les performances avec le FMX classique sont similaires.
  2. Sur iOS, il n’y a pas de lien partagé (bibliothèques partagées : dll, .so, .dylib), uniquement statique (dans ce cas, .a). Dans ce .a (équivalent à .lib sous Windows), tous les fichiers obj sont générés, cependant, malgré ses 60 Mo, la taille de l’application résultante est beaucoup plus petite, car elle n’est compilée qu’avec les fonctions utilisées. En d’autres termes, il est courant que les bibliothèques statiques soient plus grandes que les bibliothèques partagées, mais la sortie résultante est beaucoup plus petite et ne dépasse pas la taille normale d’une bibliothèque partagée.
sk01-2434964-2

Pourquoi les formats vectoriels ?

  • Tailles de fichiers beaucoup plus petites
  • Redimensionnable et évolutif à l’infini
  • Des animations plus fluides
  • Édition et personnalisation plus faciles

Pourquoi des graphiques vectoriels ?

sk02-3368680-2

La source SVG est XML (qui se comprime facilement via Zip)

sk03-3074924-2

PNG et JPEG sont binaires (déjà compressés)

sk04-5467807-2
  • JPEG et PNG sont des formats d’image raster/bitmap
  • Le PNG est sans perte, avec une reproduction précise à 100 % de l’image
  • JPEG est avec perte, perdant une certaine fidélité d’image chaque fois qu’il est édité ou compressé

Comparaisons de taille de fichier image

sk05-9265466-2
sk06b-7005265-2
sk07-7735103-2

Animations vectorielles ?

Lottie est un format d’animation basé sur JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design de l’interface utilisateur

  • SVG et Lottie permettent aux concepteurs de créer facilement des modèles d’interface utilisateur fluides et haute résolution. Ensuite, avec Skia4Delphi, vous pouvez faire correspondre parfaitement l’interface utilisateur.
  • Intégrez le mouvement à votre UI/UX
  • Autres utilisations:
    • À propos des écrans, des écrans de démarrage, des programmes d’installation, de l’intégration des utilisateurs, des assistants, etc.
sk08-5574565-2
sk09-9714613-2
  • Construire un projet avec Skia4Delphi + Delphi 11
    • Faire une belle application avec VCL ou FMX
  • Postez-le sur GitHub
    • Incluez des vidéos et des captures d’écran, puis partagez-les sur les réseaux sociaux.
  • Gagnez des prix et acclamez
    • Le grand prix est un Apple M1 Mac Mini afin que vous puissiez profiter de la nouvelle prise en charge d’Apple Silicon dans Delphi 11 Alexandria

Plus de détails à venir : blogs.embarcadero.com/?p=140459

SUIVEZ LE PROJET

Plus de liens

Remarques

  1. Pour la plate-forme Mac, quand GlobalUseMetal est vrai avec GlobalUseSkia, les performances avec le FMX classique sont similaires.
  2. Sur iOS, il n’y a pas de lien partagé (bibliothèques partagées : dll, .so, .dylib), uniquement statique (dans ce cas, .a). Dans ce .a (équivalent à .lib sous Windows), tous les fichiers obj sont générés, cependant, malgré ses 60 Mo, la taille de l’application résultante est beaucoup plus petite, car elle n’est compilée qu’avec les fonctions utilisées. En d’autres termes, il est courant que les bibliothèques statiques soient plus grandes que les bibliothèques partagées, mais la sortie résultante est beaucoup plus petite et ne dépasse pas la taille normale d’une bibliothèque partagée.
iconnnn-9733932-2

Avantages SVG

  • Indépendant de la résolution et évolutif
  • Style (peut facilement changer de couleur)
  • Fichier beaucoup plus petit
  • Pour les icônes, préférez toujours le SVG aux images statiques comme le PNG
  • Des milliers d’icônes et d’images gratuites disponibles sur le Web

Avantages de Lottie Animation

sk01-2434964-2

Pourquoi les formats vectoriels ?

  • Tailles de fichiers beaucoup plus petites
  • Redimensionnable et évolutif à l’infini
  • Des animations plus fluides
  • Édition et personnalisation plus faciles

Pourquoi des graphiques vectoriels ?

sk02-3368680-2

La source SVG est XML (qui se comprime facilement via Zip)

sk03-3074924-2

PNG et JPEG sont binaires (déjà compressés)

sk04-5467807-2
  • JPEG et PNG sont des formats d’image raster/bitmap
  • Le PNG est sans perte, avec une reproduction précise à 100 % de l’image
  • JPEG est avec perte, perdant une certaine fidélité d’image chaque fois qu’il est édité ou compressé

Comparaisons de taille de fichier image

sk05-9265466-2
sk06b-7005265-2
sk07-7735103-2

Animations vectorielles ?

Lottie est un format d’animation basé sur JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design de l’interface utilisateur

  • SVG et Lottie permettent aux concepteurs de créer facilement des modèles d’interface utilisateur fluides et haute résolution. Ensuite, avec Skia4Delphi, vous pouvez faire correspondre parfaitement l’interface utilisateur.
  • Intégrez le mouvement à votre UI/UX
  • Autres utilisations:
    • À propos des écrans, des écrans de démarrage, des programmes d’installation, de l’intégration des utilisateurs, des assistants, etc.
sk08-5574565-2
sk09-9714613-2
  • Construire un projet avec Skia4Delphi + Delphi 11
    • Faire une belle application avec VCL ou FMX
  • Postez-le sur GitHub
    • Incluez des vidéos et des captures d’écran, puis partagez-les sur les réseaux sociaux.
  • Gagnez des prix et acclamez
    • Le grand prix est un Apple M1 Mac Mini afin que vous puissiez profiter de la nouvelle prise en charge d’Apple Silicon dans Delphi 11 Alexandria

Plus de détails à venir : blogs.embarcadero.com/?p=140459

SUIVEZ LE PROJET

Plus de liens

Remarques

  1. Pour la plate-forme Mac, quand GlobalUseMetal est vrai avec GlobalUseSkia, les performances avec le FMX classique sont similaires.
  2. Sur iOS, il n’y a pas de lien partagé (bibliothèques partagées : dll, .so, .dylib), uniquement statique (dans ce cas, .a). Dans ce .a (équivalent à .lib sous Windows), tous les fichiers obj sont générés, cependant, malgré ses 60 Mo, la taille de l’application résultante est beaucoup plus petite, car elle n’est compilée qu’avec les fonctions utilisées. En d’autres termes, il est courant que les bibliothèques statiques soient plus grandes que les bibliothèques partagées, mais la sortie résultante est beaucoup plus petite et ne dépasse pas la taille normale d’une bibliothèque partagée.
sk10-1524992-2

Architecture

  • Utilise une version personnalisée de la bibliothèque Skia
    • Vous pouvez visualiser et modifier vous-même la source
  • Déployé via le gestionnaire de déploiement
    • Cliquez simplement avec le bouton droit de la souris sur « Activer Skia » pour l’ajouter au gestionnaire de déploiement.
  • Bibliothèques natives pour toutes les plateformes
    • OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 et OSX64
  • Composants et bibliothèques Delphi
    • Les composants installés sur la palette d’outils pour VCL et FMX, avec la bibliothèque ajoutée au chemin de recherche

Redistribuables

Platform Library Size
Win32 sk4d.dll 18 mb
Win64 sk4d.dll 18 mb
Android libsk4d.so 19 mb
Android64 libsk4d.so 24 mb
iOSDevice64 sk4d.a 60 mb
Ubuntu64 libsk4d.so 22 mb
RedHat64 libsk4d.so 22 mb
OSX64 sk4d.dylib 20 mb
OSXARM64 sk4d.dylib 19 mb
Sizes based on v3.4.0 for 11.1 Alexandria

Qualité de rendu

sk13-2916659-2
Aliasé vs Anti-aliasé

La qualité du dessin est améliorée, dans certains scénarios, de manière significative

iconnnn-9733932-2

Avantages SVG

  • Indépendant de la résolution et évolutif
  • Style (peut facilement changer de couleur)
  • Fichier beaucoup plus petit
  • Pour les icônes, préférez toujours le SVG aux images statiques comme le PNG
  • Des milliers d’icônes et d’images gratuites disponibles sur le Web

Avantages de Lottie Animation

sk01-2434964-2

Pourquoi les formats vectoriels ?

  • Tailles de fichiers beaucoup plus petites
  • Redimensionnable et évolutif à l’infini
  • Des animations plus fluides
  • Édition et personnalisation plus faciles

Pourquoi des graphiques vectoriels ?

sk02-3368680-2

La source SVG est XML (qui se comprime facilement via Zip)

sk03-3074924-2

PNG et JPEG sont binaires (déjà compressés)

sk04-5467807-2
  • JPEG et PNG sont des formats d’image raster/bitmap
  • Le PNG est sans perte, avec une reproduction précise à 100 % de l’image
  • JPEG est avec perte, perdant une certaine fidélité d’image chaque fois qu’il est édité ou compressé

Comparaisons de taille de fichier image

sk05-9265466-2
sk06b-7005265-2
sk07-7735103-2

Animations vectorielles ?

Lottie est un format d’animation basé sur JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design de l’interface utilisateur

  • SVG et Lottie permettent aux concepteurs de créer facilement des modèles d’interface utilisateur fluides et haute résolution. Ensuite, avec Skia4Delphi, vous pouvez faire correspondre parfaitement l’interface utilisateur.
  • Intégrez le mouvement à votre UI/UX
  • Autres utilisations:
    • À propos des écrans, des écrans de démarrage, des programmes d’installation, de l’intégration des utilisateurs, des assistants, etc.
sk08-5574565-2
sk09-9714613-2
  • Construire un projet avec Skia4Delphi + Delphi 11
    • Faire une belle application avec VCL ou FMX
  • Postez-le sur GitHub
    • Incluez des vidéos et des captures d’écran, puis partagez-les sur les réseaux sociaux.
  • Gagnez des prix et acclamez
    • Le grand prix est un Apple M1 Mac Mini afin que vous puissiez profiter de la nouvelle prise en charge d’Apple Silicon dans Delphi 11 Alexandria

Plus de détails à venir : blogs.embarcadero.com/?p=140459

SUIVEZ LE PROJET

Plus de liens

Remarques

  1. Pour la plate-forme Mac, quand GlobalUseMetal est vrai avec GlobalUseSkia, les performances avec le FMX classique sont similaires.
  2. Sur iOS, il n’y a pas de lien partagé (bibliothèques partagées : dll, .so, .dylib), uniquement statique (dans ce cas, .a). Dans ce .a (équivalent à .lib sous Windows), tous les fichiers obj sont générés, cependant, malgré ses 60 Mo, la taille de l’application résultante est beaucoup plus petite, car elle n’est compilée qu’avec les fonctions utilisées. En d’autres termes, il est courant que les bibliothèques statiques soient plus grandes que les bibliothèques partagées, mais la sortie résultante est beaucoup plus petite et ne dépasse pas la taille normale d’une bibliothèque partagée.
sk07-8057418-2

Compatibilité

  • Delphi 11+ : Toutes les plateformes
  • Delphi 10.3+ : Windows et Androïd
  • Delphi XE7+ : Windows

Disponible via …

Bibliothèque Skia4Delphi

  • La bibliothèque existe conceptuellement en 3 parties :
    1. API Skia (Console, VCL, FMX)
      • Accès à la pure bibliothèque Google Skia, via une seule unité : Skia.pas
    2. Contrôles (VCL, FMX)
      • TSkAnimatedImage : Play Lottie, autocollants Telegram, GIF animé et WebP animé
      • TSkLabel : styles multiples dans le texte, poids de la police, alignement justifié, limite maximale des lignes, couleur d’arrière-plan sur certaines parties du texte, largeur et hauteur automatiques, décorations avancées, etc.
      • TSkPaintBox : utilisez l’événement OnDraw pour dessiner avec l’API Skia directement sur le contrôle
      • TSkSvg : charge les icônes svgs, change les couleurs et le mode wrap
    3. Rendu d’application (FMX)
      • Fonction facultative qui, lorsqu’elle est activée, le moteur graphique FMX sera remplacé par le moteur graphique de Skia4Delphi, c’est-à-dire que l’application entière, toutes les commandes à l’écran, seront peintes en interne par le canevas basé sur Skia.
      • C’est-à-dire qu’en ajoutant une seule ligne de code pour l’activer , l’ensemble de votre application va automatiquement :
        • Améliorer la qualité des dessins; lissage des bords irréguliers
        • Obtenez jusqu’à 50 % d’augmentation des performances graphiques
        • Augmenter la fidélité du dessin
        • Ajoute la prise en charge des langues de droite à gauche
      • Toile FMX
sk08-6568482-2

Banc de rendu d’application

sk09-9846875-2
sk10-1524992-2

Architecture

  • Utilise une version personnalisée de la bibliothèque Skia
    • Vous pouvez visualiser et modifier vous-même la source
  • Déployé via le gestionnaire de déploiement
    • Cliquez simplement avec le bouton droit de la souris sur « Activer Skia » pour l’ajouter au gestionnaire de déploiement.
  • Bibliothèques natives pour toutes les plateformes
    • OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 et OSX64
  • Composants et bibliothèques Delphi
    • Les composants installés sur la palette d’outils pour VCL et FMX, avec la bibliothèque ajoutée au chemin de recherche

Redistribuables

Platform Library Size
Win32 sk4d.dll 18 mb
Win64 sk4d.dll 18 mb
Android libsk4d.so 19 mb
Android64 libsk4d.so 24 mb
iOSDevice64 sk4d.a 60 mb
Ubuntu64 libsk4d.so 22 mb
RedHat64 libsk4d.so 22 mb
OSX64 sk4d.dylib 20 mb
OSXARM64 sk4d.dylib 19 mb
Sizes based on v3.4.0 for 11.1 Alexandria

Qualité de rendu

sk13-2916659-2
Aliasé vs Anti-aliasé

La qualité du dessin est améliorée, dans certains scénarios, de manière significative

iconnnn-9733932-2

Avantages SVG

  • Indépendant de la résolution et évolutif
  • Style (peut facilement changer de couleur)
  • Fichier beaucoup plus petit
  • Pour les icônes, préférez toujours le SVG aux images statiques comme le PNG
  • Des milliers d’icônes et d’images gratuites disponibles sur le Web

Avantages de Lottie Animation

sk01-2434964-2

Pourquoi les formats vectoriels ?

  • Tailles de fichiers beaucoup plus petites
  • Redimensionnable et évolutif à l’infini
  • Des animations plus fluides
  • Édition et personnalisation plus faciles

Pourquoi des graphiques vectoriels ?

sk02-3368680-2

La source SVG est XML (qui se comprime facilement via Zip)

sk03-3074924-2

PNG et JPEG sont binaires (déjà compressés)

sk04-5467807-2
  • JPEG et PNG sont des formats d’image raster/bitmap
  • Le PNG est sans perte, avec une reproduction précise à 100 % de l’image
  • JPEG est avec perte, perdant une certaine fidélité d’image chaque fois qu’il est édité ou compressé

Comparaisons de taille de fichier image

sk05-9265466-2
sk06b-7005265-2
sk07-7735103-2

Animations vectorielles ?

Lottie est un format d’animation basé sur JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design de l’interface utilisateur

  • SVG et Lottie permettent aux concepteurs de créer facilement des modèles d’interface utilisateur fluides et haute résolution. Ensuite, avec Skia4Delphi, vous pouvez faire correspondre parfaitement l’interface utilisateur.
  • Intégrez le mouvement à votre UI/UX
  • Autres utilisations:
    • À propos des écrans, des écrans de démarrage, des programmes d’installation, de l’intégration des utilisateurs, des assistants, etc.
sk08-5574565-2
sk09-9714613-2
  • Construire un projet avec Skia4Delphi + Delphi 11
    • Faire une belle application avec VCL ou FMX
  • Postez-le sur GitHub
    • Incluez des vidéos et des captures d’écran, puis partagez-les sur les réseaux sociaux.
  • Gagnez des prix et acclamez
    • Le grand prix est un Apple M1 Mac Mini afin que vous puissiez profiter de la nouvelle prise en charge d’Apple Silicon dans Delphi 11 Alexandria

Plus de détails à venir : blogs.embarcadero.com/?p=140459

SUIVEZ LE PROJET

Plus de liens

Remarques

  1. Pour la plate-forme Mac, quand GlobalUseMetal est vrai avec GlobalUseSkia, les performances avec le FMX classique sont similaires.
  2. Sur iOS, il n’y a pas de lien partagé (bibliothèques partagées : dll, .so, .dylib), uniquement statique (dans ce cas, .a). Dans ce .a (équivalent à .lib sous Windows), tous les fichiers obj sont générés, cependant, malgré ses 60 Mo, la taille de l’application résultante est beaucoup plus petite, car elle n’est compilée qu’avec les fonctions utilisées. En d’autres termes, il est courant que les bibliothèques statiques soient plus grandes que les bibliothèques partagées, mais la sortie résultante est beaucoup plus petite et ne dépasse pas la taille normale d’une bibliothèque partagée.
sk06-9811271-2
  • Deux frères du Brésil
  • Gagnants de l’Esprit de Delphes 2021
  • Paulo César Botelho Barbosa
  • Vinicius Felipe Botelho Barbosa
  • Avec les encouragements et les suggestions de Ian et Jim

Skier pour Delphes

  • ÉCONOMIE – Projet open-source, entièrement gratuit
  • FACILE À UTILISER – Facile à installer, code simple
sk07-8057418-2

Compatibilité

  • Delphi 11+ : Toutes les plateformes
  • Delphi 10.3+ : Windows et Androïd
  • Delphi XE7+ : Windows

Disponible via …

Bibliothèque Skia4Delphi

  • La bibliothèque existe conceptuellement en 3 parties :
    1. API Skia (Console, VCL, FMX)
      • Accès à la pure bibliothèque Google Skia, via une seule unité : Skia.pas
    2. Contrôles (VCL, FMX)
      • TSkAnimatedImage : Play Lottie, autocollants Telegram, GIF animé et WebP animé
      • TSkLabel : styles multiples dans le texte, poids de la police, alignement justifié, limite maximale des lignes, couleur d’arrière-plan sur certaines parties du texte, largeur et hauteur automatiques, décorations avancées, etc.
      • TSkPaintBox : utilisez l’événement OnDraw pour dessiner avec l’API Skia directement sur le contrôle
      • TSkSvg : charge les icônes svgs, change les couleurs et le mode wrap
    3. Rendu d’application (FMX)
      • Fonction facultative qui, lorsqu’elle est activée, le moteur graphique FMX sera remplacé par le moteur graphique de Skia4Delphi, c’est-à-dire que l’application entière, toutes les commandes à l’écran, seront peintes en interne par le canevas basé sur Skia.
      • C’est-à-dire qu’en ajoutant une seule ligne de code pour l’activer , l’ensemble de votre application va automatiquement :
        • Améliorer la qualité des dessins; lissage des bords irréguliers
        • Obtenez jusqu’à 50 % d’augmentation des performances graphiques
        • Augmenter la fidélité du dessin
        • Ajoute la prise en charge des langues de droite à gauche
      • Toile FMX
sk08-6568482-2

Banc de rendu d’application

sk09-9846875-2
sk10-1524992-2

Architecture

  • Utilise une version personnalisée de la bibliothèque Skia
    • Vous pouvez visualiser et modifier vous-même la source
  • Déployé via le gestionnaire de déploiement
    • Cliquez simplement avec le bouton droit de la souris sur « Activer Skia » pour l’ajouter au gestionnaire de déploiement.
  • Bibliothèques natives pour toutes les plateformes
    • OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 et OSX64
  • Composants et bibliothèques Delphi
    • Les composants installés sur la palette d’outils pour VCL et FMX, avec la bibliothèque ajoutée au chemin de recherche

Redistribuables

Platform Library Size
Win32 sk4d.dll 18 mb
Win64 sk4d.dll 18 mb
Android libsk4d.so 19 mb
Android64 libsk4d.so 24 mb
iOSDevice64 sk4d.a 60 mb
Ubuntu64 libsk4d.so 22 mb
RedHat64 libsk4d.so 22 mb
OSX64 sk4d.dylib 20 mb
OSXARM64 sk4d.dylib 19 mb
Sizes based on v3.4.0 for 11.1 Alexandria

Qualité de rendu

sk13-2916659-2
Aliasé vs Anti-aliasé

La qualité du dessin est améliorée, dans certains scénarios, de manière significative

iconnnn-9733932-2

Avantages SVG

  • Indépendant de la résolution et évolutif
  • Style (peut facilement changer de couleur)
  • Fichier beaucoup plus petit
  • Pour les icônes, préférez toujours le SVG aux images statiques comme le PNG
  • Des milliers d’icônes et d’images gratuites disponibles sur le Web

Avantages de Lottie Animation

sk01-2434964-2

Pourquoi les formats vectoriels ?

  • Tailles de fichiers beaucoup plus petites
  • Redimensionnable et évolutif à l’infini
  • Des animations plus fluides
  • Édition et personnalisation plus faciles

Pourquoi des graphiques vectoriels ?

sk02-3368680-2

La source SVG est XML (qui se comprime facilement via Zip)

sk03-3074924-2

PNG et JPEG sont binaires (déjà compressés)

sk04-5467807-2
  • JPEG et PNG sont des formats d’image raster/bitmap
  • Le PNG est sans perte, avec une reproduction précise à 100 % de l’image
  • JPEG est avec perte, perdant une certaine fidélité d’image chaque fois qu’il est édité ou compressé

Comparaisons de taille de fichier image

sk05-9265466-2
sk06b-7005265-2
sk07-7735103-2

Animations vectorielles ?

Lottie est un format d’animation basé sur JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design de l’interface utilisateur

  • SVG et Lottie permettent aux concepteurs de créer facilement des modèles d’interface utilisateur fluides et haute résolution. Ensuite, avec Skia4Delphi, vous pouvez faire correspondre parfaitement l’interface utilisateur.
  • Intégrez le mouvement à votre UI/UX
  • Autres utilisations:
    • À propos des écrans, des écrans de démarrage, des programmes d’installation, de l’intégration des utilisateurs, des assistants, etc.
sk08-5574565-2
sk09-9714613-2
  • Construire un projet avec Skia4Delphi + Delphi 11
    • Faire une belle application avec VCL ou FMX
  • Postez-le sur GitHub
    • Incluez des vidéos et des captures d’écran, puis partagez-les sur les réseaux sociaux.
  • Gagnez des prix et acclamez
    • Le grand prix est un Apple M1 Mac Mini afin que vous puissiez profiter de la nouvelle prise en charge d’Apple Silicon dans Delphi 11 Alexandria

Plus de détails à venir : blogs.embarcadero.com/?p=140459

SUIVEZ LE PROJET

Plus de liens

Remarques

  1. Pour la plate-forme Mac, quand GlobalUseMetal est vrai avec GlobalUseSkia, les performances avec le FMX classique sont similaires.
  2. Sur iOS, il n’y a pas de lien partagé (bibliothèques partagées : dll, .so, .dylib), uniquement statique (dans ce cas, .a). Dans ce .a (équivalent à .lib sous Windows), tous les fichiers obj sont générés, cependant, malgré ses 60 Mo, la taille de l’application résultante est beaucoup plus petite, car elle n’est compilée qu’avec les fonctions utilisées. En d’autres termes, il est courant que les bibliothèques statiques soient plus grandes que les bibliothèques partagées, mais la sortie résultante est beaucoup plus petite et ne dépasse pas la taille normale d’une bibliothèque partagée.
iconnnn-7604419-2

À propos de Skia4Delphi

  • Open source
    • Utilise un fork modifié de Skia de Google
  • Multi-plateforme et multi-framework
  • bibliothèque graphique 2D pour Delphi
  • Dessin
    • Texte
    • Animations
    • Images
  • Concentrez-vous sur la qualité et la performance

Le cerveau derrière Skia4Delphi

sk06-9811271-2
  • Deux frères du Brésil
  • Gagnants de l’Esprit de Delphes 2021
  • Paulo César Botelho Barbosa
  • Vinicius Felipe Botelho Barbosa
  • Avec les encouragements et les suggestions de Ian et Jim

Skier pour Delphes

  • ÉCONOMIE – Projet open-source, entièrement gratuit
  • FACILE À UTILISER – Facile à installer, code simple
sk07-8057418-2

Compatibilité

  • Delphi 11+ : Toutes les plateformes
  • Delphi 10.3+ : Windows et Androïd
  • Delphi XE7+ : Windows

Disponible via …

Bibliothèque Skia4Delphi

  • La bibliothèque existe conceptuellement en 3 parties :
    1. API Skia (Console, VCL, FMX)
      • Accès à la pure bibliothèque Google Skia, via une seule unité : Skia.pas
    2. Contrôles (VCL, FMX)
      • TSkAnimatedImage : Play Lottie, autocollants Telegram, GIF animé et WebP animé
      • TSkLabel : styles multiples dans le texte, poids de la police, alignement justifié, limite maximale des lignes, couleur d’arrière-plan sur certaines parties du texte, largeur et hauteur automatiques, décorations avancées, etc.
      • TSkPaintBox : utilisez l’événement OnDraw pour dessiner avec l’API Skia directement sur le contrôle
      • TSkSvg : charge les icônes svgs, change les couleurs et le mode wrap
    3. Rendu d’application (FMX)
      • Fonction facultative qui, lorsqu’elle est activée, le moteur graphique FMX sera remplacé par le moteur graphique de Skia4Delphi, c’est-à-dire que l’application entière, toutes les commandes à l’écran, seront peintes en interne par le canevas basé sur Skia.
      • C’est-à-dire qu’en ajoutant une seule ligne de code pour l’activer , l’ensemble de votre application va automatiquement :
        • Améliorer la qualité des dessins; lissage des bords irréguliers
        • Obtenez jusqu’à 50 % d’augmentation des performances graphiques
        • Augmenter la fidélité du dessin
        • Ajoute la prise en charge des langues de droite à gauche
      • Toile FMX
sk08-6568482-2

Banc de rendu d’application

sk09-9846875-2
sk10-1524992-2

Architecture

  • Utilise une version personnalisée de la bibliothèque Skia
    • Vous pouvez visualiser et modifier vous-même la source
  • Déployé via le gestionnaire de déploiement
    • Cliquez simplement avec le bouton droit de la souris sur « Activer Skia » pour l’ajouter au gestionnaire de déploiement.
  • Bibliothèques natives pour toutes les plateformes
    • OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 et OSX64
  • Composants et bibliothèques Delphi
    • Les composants installés sur la palette d’outils pour VCL et FMX, avec la bibliothèque ajoutée au chemin de recherche

Redistribuables

Platform Library Size
Win32 sk4d.dll 18 mb
Win64 sk4d.dll 18 mb
Android libsk4d.so 19 mb
Android64 libsk4d.so 24 mb
iOSDevice64 sk4d.a 60 mb
Ubuntu64 libsk4d.so 22 mb
RedHat64 libsk4d.so 22 mb
OSX64 sk4d.dylib 20 mb
OSXARM64 sk4d.dylib 19 mb
Sizes based on v3.4.0 for 11.1 Alexandria

Qualité de rendu

sk13-2916659-2
Aliasé vs Anti-aliasé

La qualité du dessin est améliorée, dans certains scénarios, de manière significative

iconnnn-9733932-2

Avantages SVG

  • Indépendant de la résolution et évolutif
  • Style (peut facilement changer de couleur)
  • Fichier beaucoup plus petit
  • Pour les icônes, préférez toujours le SVG aux images statiques comme le PNG
  • Des milliers d’icônes et d’images gratuites disponibles sur le Web

Avantages de Lottie Animation

sk01-2434964-2

Pourquoi les formats vectoriels ?

  • Tailles de fichiers beaucoup plus petites
  • Redimensionnable et évolutif à l’infini
  • Des animations plus fluides
  • Édition et personnalisation plus faciles

Pourquoi des graphiques vectoriels ?

sk02-3368680-2

La source SVG est XML (qui se comprime facilement via Zip)

sk03-3074924-2

PNG et JPEG sont binaires (déjà compressés)

sk04-5467807-2
  • JPEG et PNG sont des formats d’image raster/bitmap
  • Le PNG est sans perte, avec une reproduction précise à 100 % de l’image
  • JPEG est avec perte, perdant une certaine fidélité d’image chaque fois qu’il est édité ou compressé

Comparaisons de taille de fichier image

sk05-9265466-2
sk06b-7005265-2
sk07-7735103-2

Animations vectorielles ?

Lottie est un format d’animation basé sur JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design de l’interface utilisateur

  • SVG et Lottie permettent aux concepteurs de créer facilement des modèles d’interface utilisateur fluides et haute résolution. Ensuite, avec Skia4Delphi, vous pouvez faire correspondre parfaitement l’interface utilisateur.
  • Intégrez le mouvement à votre UI/UX
  • Autres utilisations:
    • À propos des écrans, des écrans de démarrage, des programmes d’installation, de l’intégration des utilisateurs, des assistants, etc.
sk08-5574565-2
sk09-9714613-2
  • Construire un projet avec Skia4Delphi + Delphi 11
    • Faire une belle application avec VCL ou FMX
  • Postez-le sur GitHub
    • Incluez des vidéos et des captures d’écran, puis partagez-les sur les réseaux sociaux.
  • Gagnez des prix et acclamez
    • Le grand prix est un Apple M1 Mac Mini afin que vous puissiez profiter de la nouvelle prise en charge d’Apple Silicon dans Delphi 11 Alexandria

Plus de détails à venir : blogs.embarcadero.com/?p=140459

SUIVEZ LE PROJET

Plus de liens

Remarques

  1. Pour la plate-forme Mac, quand GlobalUseMetal est vrai avec GlobalUseSkia, les performances avec le FMX classique sont similaires.
  2. Sur iOS, il n’y a pas de lien partagé (bibliothèques partagées : dll, .so, .dylib), uniquement statique (dans ce cas, .a). Dans ce .a (équivalent à .lib sous Windows), tous les fichiers obj sont générés, cependant, malgré ses 60 Mo, la taille de l’application résultante est beaucoup plus petite, car elle n’est compilée qu’avec les fonctions utilisées. En d’autres termes, il est courant que les bibliothèques statiques soient plus grandes que les bibliothèques partagées, mais la sortie résultante est beaucoup plus petite et ne dépasse pas la taille normale d’une bibliothèque partagée.
sk03-6219443-2

Plates-formes de ski :

  • Toutes les plateformes les plus populaires au monde, telles que :
    • les fenêtres
    • macOS
    • iOS (y compris simulateur)
    • Android (y compris simulateur)
    • Linux (principales distributions)
    • FuschiaOS
    • Tizen
    • tvOS
    • watchOS

Caractéristiques du ski

sk05v-6468229-2
iconnnn-7604419-2

À propos de Skia4Delphi

  • Open source
    • Utilise un fork modifié de Skia de Google
  • Multi-plateforme et multi-framework
  • bibliothèque graphique 2D pour Delphi
  • Dessin
    • Texte
    • Animations
    • Images
  • Concentrez-vous sur la qualité et la performance

Le cerveau derrière Skia4Delphi

sk06-9811271-2
  • Deux frères du Brésil
  • Gagnants de l’Esprit de Delphes 2021
  • Paulo César Botelho Barbosa
  • Vinicius Felipe Botelho Barbosa
  • Avec les encouragements et les suggestions de Ian et Jim

Skier pour Delphes

  • ÉCONOMIE – Projet open-source, entièrement gratuit
  • FACILE À UTILISER – Facile à installer, code simple
sk07-8057418-2

Compatibilité

  • Delphi 11+ : Toutes les plateformes
  • Delphi 10.3+ : Windows et Androïd
  • Delphi XE7+ : Windows

Disponible via …

Bibliothèque Skia4Delphi

  • La bibliothèque existe conceptuellement en 3 parties :
    1. API Skia (Console, VCL, FMX)
      • Accès à la pure bibliothèque Google Skia, via une seule unité : Skia.pas
    2. Contrôles (VCL, FMX)
      • TSkAnimatedImage : Play Lottie, autocollants Telegram, GIF animé et WebP animé
      • TSkLabel : styles multiples dans le texte, poids de la police, alignement justifié, limite maximale des lignes, couleur d’arrière-plan sur certaines parties du texte, largeur et hauteur automatiques, décorations avancées, etc.
      • TSkPaintBox : utilisez l’événement OnDraw pour dessiner avec l’API Skia directement sur le contrôle
      • TSkSvg : charge les icônes svgs, change les couleurs et le mode wrap
    3. Rendu d’application (FMX)
      • Fonction facultative qui, lorsqu’elle est activée, le moteur graphique FMX sera remplacé par le moteur graphique de Skia4Delphi, c’est-à-dire que l’application entière, toutes les commandes à l’écran, seront peintes en interne par le canevas basé sur Skia.
      • C’est-à-dire qu’en ajoutant une seule ligne de code pour l’activer , l’ensemble de votre application va automatiquement :
        • Améliorer la qualité des dessins; lissage des bords irréguliers
        • Obtenez jusqu’à 50 % d’augmentation des performances graphiques
        • Augmenter la fidélité du dessin
        • Ajoute la prise en charge des langues de droite à gauche
      • Toile FMX
sk08-6568482-2

Banc de rendu d’application

sk09-9846875-2
sk10-1524992-2

Architecture

  • Utilise une version personnalisée de la bibliothèque Skia
    • Vous pouvez visualiser et modifier vous-même la source
  • Déployé via le gestionnaire de déploiement
    • Cliquez simplement avec le bouton droit de la souris sur « Activer Skia » pour l’ajouter au gestionnaire de déploiement.
  • Bibliothèques natives pour toutes les plateformes
    • OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 et OSX64
  • Composants et bibliothèques Delphi
    • Les composants installés sur la palette d’outils pour VCL et FMX, avec la bibliothèque ajoutée au chemin de recherche

Redistribuables

Platform Library Size
Win32 sk4d.dll 18 mb
Win64 sk4d.dll 18 mb
Android libsk4d.so 19 mb
Android64 libsk4d.so 24 mb
iOSDevice64 sk4d.a 60 mb
Ubuntu64 libsk4d.so 22 mb
RedHat64 libsk4d.so 22 mb
OSX64 sk4d.dylib 20 mb
OSXARM64 sk4d.dylib 19 mb
Sizes based on v3.4.0 for 11.1 Alexandria

Qualité de rendu

sk13-2916659-2
Aliasé vs Anti-aliasé

La qualité du dessin est améliorée, dans certains scénarios, de manière significative

iconnnn-9733932-2

Avantages SVG

  • Indépendant de la résolution et évolutif
  • Style (peut facilement changer de couleur)
  • Fichier beaucoup plus petit
  • Pour les icônes, préférez toujours le SVG aux images statiques comme le PNG
  • Des milliers d’icônes et d’images gratuites disponibles sur le Web

Avantages de Lottie Animation

sk01-2434964-2

Pourquoi les formats vectoriels ?

  • Tailles de fichiers beaucoup plus petites
  • Redimensionnable et évolutif à l’infini
  • Des animations plus fluides
  • Édition et personnalisation plus faciles

Pourquoi des graphiques vectoriels ?

sk02-3368680-2

La source SVG est XML (qui se comprime facilement via Zip)

sk03-3074924-2

PNG et JPEG sont binaires (déjà compressés)

sk04-5467807-2
  • JPEG et PNG sont des formats d’image raster/bitmap
  • Le PNG est sans perte, avec une reproduction précise à 100 % de l’image
  • JPEG est avec perte, perdant une certaine fidélité d’image chaque fois qu’il est édité ou compressé

Comparaisons de taille de fichier image

sk05-9265466-2
sk06b-7005265-2
sk07-7735103-2

Animations vectorielles ?

Lottie est un format d’animation basé sur JSON.

Name Type Size Relative
dev_coding.tgs tgs (zipped json) 55,834
dev_coding.mp4 mpeg4 (lossy) 373,642 7x
dev_coding.json lottie (json) 583,485 10x
dev_coding.gif gif (lossless) 5,020,259 90x

Design de l’interface utilisateur

  • SVG et Lottie permettent aux concepteurs de créer facilement des modèles d’interface utilisateur fluides et haute résolution. Ensuite, avec Skia4Delphi, vous pouvez faire correspondre parfaitement l’interface utilisateur.
  • Intégrez le mouvement à votre UI/UX
  • Autres utilisations:
    • À propos des écrans, des écrans de démarrage, des programmes d’installation, de l’intégration des utilisateurs, des assistants, etc.
sk08-5574565-2
sk09-9714613-2
  • Construire un projet avec Skia4Delphi + Delphi 11
    • Faire une belle application avec VCL ou FMX
  • Postez-le sur GitHub
    • Incluez des vidéos et des captures d’écran, puis partagez-les sur les réseaux sociaux.
  • Gagnez des prix et acclamez
    • Le grand prix est un Apple M1 Mac Mini afin que vous puissiez profiter de la nouvelle prise en charge d’Apple Silicon dans Delphi 11 Alexandria

Plus de détails à venir : blogs.embarcadero.com/?p=140459

SUIVEZ LE PROJET

Plus de liens

Remarques

  1. Pour la plate-forme Mac, quand GlobalUseMetal est vrai avec GlobalUseSkia, les performances avec le FMX classique sont similaires.
  2. Sur iOS, il n’y a pas de lien partagé (bibliothèques partagées : dll, .so, .dylib), uniquement statique (dans ce cas, .a). Dans ce .a (équivalent à .lib sous Windows), tous les fichiers obj sont générés, cependant, malgré ses 60 Mo, la taille de l’application résultante est beaucoup plus petite, car elle n’est compilée qu’avec les fonctions utilisées. En d’autres termes, il est courant que les bibliothèques statiques soient plus grandes que les bibliothèques partagées, mais la sortie résultante est beaucoup plus petite et ne dépasse pas la taille normale d’une bibliothèque partagée.

What's Next
Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

À propos de l'auteur

Défenseur des développeurs en chef pour Embarcadero Technologies.

Leave a Reply

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

IN THE ARTICLES