Skia for Delphi 에서 사용하는 리소스는 세 가지 이다.
1. Skia (TSkSvg)
> Scalable Vector Graphics
> XML 을 이용한다
> 확장자가 SVG (Scalable Vector Graphics) 인 이미지 파일이다
> 속도가 빠르고, 아이콘, 배경화면 등 사용성이 좋다
2. Lottie Animation (TSkAnimatedImage)
> GIF 같은 움직이는 이미지를 Vector 형식으로 만든 것이다
> SkAnimatedImage.Animation.Progress := 값 (0~1) 을 넣으면 Progress 를 조정할 수 있다.
> Json 을 이용한다
3. Shader Language (TSkAnimatedPaintBox)
> 프로그래밍을 이용하여 움직이는 그림을 만든 것이며, 마우스 등에 반응하도록 만들 수 있어서, 이를 이용하여 게임을 만들 수 도 있다.
> 기존에 만들어진 것을 이용하면, 꽤 멋진 움직이는 배경이나, 기타 기능을 사용할 수 있는데, 자기가 원하는 것을 만드려면, Shader Language 를 공부해야 하기 때문에, 진입장벽이 높다고 생각된다.
* Skia4Delphi Homepage : https://skia4delphi.org/
* Skia4Delphi 설명하는 동영상 https://www.youtube.com/watch?v=rtnipmzWXhE
아래는 위 동영상에서 설명하는 것을 간단히 적어보았다
* SKIA 란?
원래는 Google Project 였음(Skia는 2005년에 구글에 인수되었고, 2008년에 오픈소스로 출시되었음)
다양한 하드웨어 및 소프트웨어 플랫폼에서 공통 API를 제공하는 오픈 소스 2D 그래픽 라이브러리 임.
Skia 라는 단어는 2017년 플러터의 출시로 크게 알려졌음.
* SKIA 의 특징
매우 성능 좋은 그래픽을 생성, 초고속이고, 모양/경로/텍스트/렌더링 같은 작업을 수행한다.
SVG 를 수행하며, 매우 우수한 .SVG 렌더링 라이브러리 임.
> 2D Drawings - Shapes, paths and texts (Vector Graphc)
> SVG - Rednering and creation
> Image Formats - BMP, GIF, ICO, JPG, PNG, WBMP, WEBP, and raw images
> Animated Image Formats - Lottie, Telegram Stickers, Animated GIF, and Animated WEBP
> Antialiasing - High quality drawings with smoothing of jagged edges
> Parallelism - Possibility to draw in backgroud threads in a really parallel way
> PDF - Creation of PDF Documents
> Advanced Font Properties - Font weight, families fallbacks, custom font (in a simple way), max number of lines...
(Delphi 사용자가 이 폰트 부분에 관심이 많다)
(아래처럼 하면, 폰트를 시스템에 설치할 필요가 없다고 함)
> RTL Language - Support for texts in Persian, Arabic, Hebrew and other right-toleft languages
> Unicode - Render and string parser (grapheme iterators)
> Image/Color Filters - Apply and type of filter to adjust photo colors, color drawings, produce effets
> Shader Language Standardization - Create a single shader code to execute drawings with the GPU on any platform
* Skia4Delphi 란?
구글라이브러리를 가져와 Delphi 에서 사용할 수 있도록 만든 것
> Open Source : Users a modifed fork of Google's Skia
> Cross-Platform & Multi-Framwork
> 2D graphics library for Delphi
> Drawing : Text, Animations, Images
> Focus on Quality & Performance
* Skia4Delphi Libaray
> Skia API : Access to the pure Google Skia library, through a single unit: Skia.pas
> Skia Controls :
> Enable Skia
> 같이 배포되는 파일 (Enable Skia 를 선택하면, 자동으로 Deployment 에 추가도며, 번들로 제공된다)
* SVG 제작 툴 : Inkscape, Adobe Illustrator
- SVG 소스는 XML 로 되어 있음
* Lottie Animation
- 처음에는 Airbnb 에서 디자인 했음.
- 사이트
> lottiefiles.com, lordicon.com, useanimations.com, icon8.com/animated-icons, iconscout.com/free-lotties
* 셰이더
- 셰이더 언어는 셰이더 효과를 위한 프로그래밍 언어
- 가장 인기 있는 셰이더 언어는 Open GL 인 GL 셰이더 언어 임. (Open GL Shading Language)
https://github.com/jimmckeeth/SkiaSimpleShaderViewer
https://shaders.skia.org/ (Shader Language 를 테스트 할 수 있음)
'FMX' 카테고리의 다른 글
Firemonkey의 Android/iOS 환경에서 네이버 OAuth2.0 을 이용한 로그인 (0) | 2024.05.31 |
---|---|
델파이 interface 이용하여, 여러 폼의 화면을 동시에 수정하기 (0) | 2023.07.26 |
Delphi FMX Style - Round Button (0) | 2023.07.03 |
delphi FMX Component 만들기 (0) | 2023.06.29 |