這個賞金已經結束。此問題的答案有資格獲得 500聲望賞金。賞金寬限期在20 小時后結束。 約翰史密斯想引起更多的關注這個問題。
我正在尋找一種支持簡單影片的矢量圖形格式。起初我認為 SVG 會是最好的。但是 SVG 影片在庫中沒有任何支持。是否有其他可用的格式?
我想要一個 Rust 庫,但將 FFI 寫入 C 或 C 庫也沒有問題。
歡迎任何提示。
uj5u.com熱心網友回復:
SVG 有一些很酷的影片功能,即transform: matrix()屬性 CSS transitions。我個人資料中的個人網頁有一個我使用 CSS 制作影片的示例 SVG。
這是我收集的一些材料,但我不確定其他任何庫。Three.js 鏈接包含大量附加資訊。希望這可以幫助。
- Greensock 庫 ——Greensock 影片平臺 (GSAP) 是一套用于腳本影片的工具。GSAP 為 JavaScript 可以觸摸的任何東西制作影片;即 CSS、SVG、React 和畫布。總的來說,GSAP 可以高速操作屬性值,這是基于 CSS 的過渡所涉及的核心技術之一。
- Aframe.io -- A-Frame 是一個基于 Three.js 的 Web 框架,用于構建虛擬現實 (VR) 體驗。除了影片之外,它還具有許多其他組件和自定義功能。
- Boxy SVG——在瀏覽器編輯器中操作 SVG,附帶教程等。
- GIF.js
- Vectr和Pixlr
- Three.js 庫和插件
- 三.js WebGL
最后,我發現兩個使用 WebGL/Three.js/SVG 影片的非常酷的網站:
- 互動式示例 1
- 互動式示例 2
uj5u.com熱心網友回復:
對您的問題/要求..
“..我想要一個 Rust 庫,但將 FFI 寫入 C 或 C 庫也沒有問題。”
我會推薦幾個使用 Rust、C 或 C 的不錯的選擇
選項1:
請查看流行的 Resvg 是一個很棒的 lib Link和github 1300 顆星
選項 2:
請查看UX-Animate,其中也有 Rust 應用程式和示例
// Scaling example in rust
use ux::prelude::*;
use ux::{Surface, Window};
#[derive(Default, Application)]
struct Application {
window: Window,
}
impl Application {
fn new() -> Self {
let app: Self = Default::default();
app.window
.set_window_size(512, 512)
.set_title("UX Framework - Scaling")
.show()
.connect_destroy(move |_win| Application::quit());
app.window.set_background_color(Some(color::GRAY_9));
let surface = Surface::new();
surface.set_size(400.0, 400.0);
// we should also change surface content size to avoid distortion
surface.set_content_size(400.0, 400.0);
surface.set_position(56.0, 56.0);
app.window.set_child(&surface);
surface.connect_draw(move |_widget, ctx, width, height| {
ctx.clear_rect(0.0, 0.0, width as f64, height as f64);
ctx.set_fill_color(color::TEAL_9); // Fill color
ctx.begin_path();
ctx.rect(10.0, 10.0, 90.0, 90.0);
ctx.fill();
ctx.scale(0.6, 0.6);
ctx.set_fill_color(color::ORANGE_9); // Fill color
ctx.begin_path();
ctx.rect(30.0, 30.0, 90.0, 90.0);
ctx.fill();
ctx.scale(0.8, 0.8);
ctx.set_fill_color(color::INDIGO_9); // Fill color
ctx.begin_path();
ctx.rect(50.0, 50.0, 90.0, 90.0);
ctx.fill();
false
});
app
}
}
fn main() {
Application::run();
}
uj5u.com熱心網友回復:
在這方面,Rust 似乎有點棘手。在這個領域有一些廢棄或不完整的 SVG 影片庫專案,例如ux-animate。
將在 ux-animate 的路線圖上實作的功能:
- 補間支持
- 運動支持
- 影片運行時支持
- SVG 支持
正如你所說的簡單,gtk 雖然它是一個 gui 框架,但怎么樣?
gtk-rs專案為 GNOME 堆疊中的基本庫(如 GLib、Cairo、GTK 3 和 GTK 4)提供與 Rust 語言的安全系結。
這是一個 10 分鐘的示例,使用nannou為 Rust 中的圓圈設定影片。值得一看。
從我的角度來看,也許褶邊可能是你的選擇。
ruffle 是一個用 Rust 編程語言構建的 Flash Player 模擬器。
resvg關于 SVG 不是一個選項:
resvg 旨在僅支持靜態 SVG 子集;例如,沒有 a、腳本、視圖或游標元素,沒有事件和影片。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/469264.html
上一篇:從帶有刻度的價目表中查找價格
