āϤāĻŋāύ āĻŽāĻžāϏā§āϰ āĻāĻ ā§āϰ āĻĒāϰāĻŋāĻļā§āϰāĻŽā§āϰ āĻĒāϰ, ThorVG āĻā§āĻā§āĻāϰ āĻā§āϰāĻžāĻĢāĻŋāĻā§āϏ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϰ 0.15, C++ (C++14 āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ) āĻ āϞā§āĻāĻž āĻāĻŦāĻ MIT āϞāĻžāĻāϏā§āύā§āϏā§āϰ āĻ āϧā§āύ⧠āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāĻāĻŋ āĻĒā§āϰāĻā§āĻā§āĻā§ āĻā§āĻā§āĻāϰ āĻā§āϰāĻžāĻĢāĻŋāĻā§āϏ āϰā§āύā§āĻĄāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧ āĻāĻŋāĻā§āύ āĻāĻāϏ, āĻāĻĄā§āĻ āĻāĻā§āĻāĻŋāύ, āĻāϞāĻāĻŋāĻāĻŋāĻāϞ āĻāĻŦāĻ āĻā§āϞā§āϝāĻŧāĻžāĻĄāĻŧ āĻĄāĻāϞāĻāĻŋ.
āĻĨāϰ āĻā§āĻā§āĻāϰ āĻā§āϰāĻžāĻĢāĻŋāĻā§āϏ (ThorVG) āĻšāϞ āĻāĻāĻāĻŋ āϞāĻžāĻāĻāĻāϝāĻŧā§āĻ āĻāĻŦāĻ āĻĒā§āϰā§āĻā§āĻŦāϞ āĻāĻĒā§āύ āϏā§āϰā§āϏ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϝāĻž āĻā§āĻā§āĻāϰ āϏāĻŋāύ āĻāĻŦāĻ āĻ ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ, āĻĢāϰā§āĻŽā§āϝāĻžāĻ āϏāĻš āϰā§āύā§āĻĄāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāϏāĻāĻŋāĻāĻŋ āĻāĻŋāύāĻŋ 1.2, Lottie āĻāĻŦāĻ āύā§āĻāĻŋāĻ TVG āĻĢāϰāĻŽā§āϝāĻžāĻ (SVG, āĻāϰ āϏāĻžāĻĨā§ āϏāĻāĻā§āĻāĻŋāϤ āĻāϞāĻā§āĻĄāĻžāĻŦā§āϞā§).
āĻĒāĻžāĻ āĻžāĻāĻžāϰ āĻĒā§āϰāĻĻāĻžāύ āĻāϰ⧠āϏā§āĻŦāĻŋāϧāĻžāĻāύāĻ API āĻā§āĻā§āĻāϰ āĻā§āϰāĻžāĻĢāĻŋāĻā§āϏ āĻāĻŽāĻĻāĻžāύāĻŋ, āϤā§āϰāĻŋ āĻāĻŦāĻ āĻĒā§āϰāĻĻāϰā§āĻļāύā§āϰ āĻāύā§āϝ, āϏā§āĻāϏāĻžāĻĨā§ āĻŦāĻŋāĻāĻŋāύā§āύ āĻā§āϰāĻžāĻĢāĻŋāĻ āĻĢāϰā§āĻŽā§āϝāĻžāĻā§ āϰāĻĒā§āϤāĻžāύāĻŋ āĻāϰāĻžāϰ āĻāύā§āϝ, āϝāĻž āĻŦāĻŋāĻāĻŋāύā§āύ āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§ āĻāĻŦāĻ āĻā§āϰāĻžāĻĢāĻŋāĻ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻāĻŋāĻā§āϝā§āϝāĻŧāĻžāϞāĻžāĻāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§āϞāĻŋāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāύā§āϝ āĻāĻāĻŋāĻā§ āϏāϰā§āĻŦāĻāύā§āύ āĻāϰ⧠āϤā§āϞā§:
# "Example.h" āύāĻžāĻŽāϏā§āĻĨāĻžāύ std āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāϰā§āύ; void exportGif() { āĻ āĻā§ āĻ ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ = āĻāĻŋāĻāĻŋāĻāĻŋ::āĻ ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ::āĻā§āύ(); āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻāĻŦāĻŋ = āĻ ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ->āĻāĻŦāĻŋ(); āϝāĻĻāĻŋ (!tvgexam::verify(picture->load(EXAMPLE_DIR"/lottie/walker.json"))) āĻĢāĻŋāϰ⧠āĻāϏā§; āĻāĻŦāĻŋ->āĻāĻāĻžāϰ (800, 800); āĻ āĻā§ āϏā§āĻāĻžāϰ = āĻāĻŋāĻāĻŋāĻāĻŋ::āϏā§āĻāĻžāϰ::āĻā§āύ(); āϝāĻĻāĻŋ (!tvgexam::verify(saver->save(std::move(animation), "./test.gif"))) āĻĢā§āϰāϤ; āϏā§āĻāĻžāϰ->āϏāĻŋāĻā§āĻ(); cout << "āϏāĻĢāϞāĻāĻžāĻŦā§ test.gif āĻ āϰāĻĒā§āϤāĻžāύāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤" <<endl; } int main(int argc, char **argv) { if (tvgexam::verify(tvg::Initializer::init(0))) { exportGif(); āĻāĻŋāĻāĻŋāĻāĻŋ::āĻāύāĻŋāĻļāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻāĻžāϰ::āĻāĻžāϰā§āĻŽ(); } āϰāĻŋāĻāĻžāϰā§āύ 0; }
āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāĻāĻŋ lottie2gif, svg2png āĻāĻŦāĻ svg2tvg āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§āĻ āĻāϏā§ā§ˇ
āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖā§ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝ āĻāύā§āύāϤāĻŋ āϰāϝāĻŧā§āĻā§:
- āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻāύā§āύāϤ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž, āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āĻāĻŦāĻ WebGPU āĻāĻā§āĻāĻŋāύā§āϰ āϏā§āĻĨāĻžāϝāĻŧāĻŋāϤā§āĻŦ;
- āϏā§āĻā§āϰā§āĻ āϰā§āύā§āĻĄāĻžāϰāĻŋāĻ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻĒā§āϰāĻžāϝāĻŧ āϤāĻŋāύāĻā§āĻŖ āĻŦā§āĻĻā§āϧāĻŋ;
- āĻŽāĻžāϏā§āĻāĻŋāĻ āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻāĻžāϰāϞ⧠āĻĒāĻĻā§āϧāϤāĻŋāϰ āĻāύā§āύāϤ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž;
- āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ GPU āĻŽā§āĻŽāϰāĻŋ āϞā§āĻĄ āĻšā§āϰāĻžāϏ;
- āĻā§āϰāĻĒ āĻāĻāĻāϞāĻžāĻāύ āĻāĻŦāĻ āĻĒāϰā§āĻĻāĻžāϰ āĻĻā§āĻļā§āϝāĻŽāĻžāύ āĻāϞāĻžāĻāĻž āĻĒāϰāĻŋāĻāĻžāϞāύāĻžāϰ āĻāύā§āϝ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϏāĻŽāϰā§āĻĨāύ;
- Lottie āĻ ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻāύā§āύāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§;
- ThorVG-āϤ⧠āϏāĻŦāĻā§āϝāĻŧā§ āĻŦāĻĄāĻŧ āϏāĻāϝā§āĻāύ āĻšāϞ Lottie āĻ ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύā§āϰ āϏā§āϤāϰāĻā§āϞāĻŋāϰ āĻāύā§āϝ āϏāĻŽāϰā§āĻĨāύ;
- Lottie āĻ ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ⧠āĻāύā§āĻāĻžāϰā§āĻā§āĻāĻŋāĻ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§;
- āĻāύā§āύāϤ āĻā§āĻā§āϏāĻ āĻ ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ;
- āĻ āĻĢāϏā§āĻ āϏāĻš āĻŦā§āĻāĻŋāϝāĻŧāĻžāϰ āĻāĻžāϰā§āĻā§āϰ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻĒāϝāĻŧā§āύā§āĻ āĻāĻŖāύāĻžāϰ āĻāύā§āϝ āĻāύā§āύāϤ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ;
- āĻĻā§āĻļā§āϝ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āĻĒā§āϏā§āĻ-āĻĒā§āϰāϏā§āϏāĻŋāĻ āĻĒā§āϰāĻāĻžāĻŦ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻžāϰ āĻā§āώāĻŽāϤāĻž āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§;
- āϝā§āĻāĻŋāĻ āĻā§āĻā§āϏāĻ āĻā§āϞāĻŋāĻĢā§āϰ āĻāύā§āϝ āϏāĻŽāϰā§āĻĨāύ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§;
- OpenGL āĻāĻā§āĻāĻŋāύ⧠āĻāĻŽā§āĻĒā§āĻāĻŋāĻļāύ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāύā§āύāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§;
- āύāϤā§āύ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ āĻāĻŦāĻ āĻĒāϰā§āĻā§āώāĻžāĻŽā§āϞāĻ API āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§;
- āĻ āύā§āĻ āĻŦāĻžāĻ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§.
āĻāϤā§āϏ: linux.org.ru
