การเชื่อมต่อและ SDK อย่างเป็นทางการ
ไปป์ไลน์การปรับแต่งภาพแบบอะซิงโครนัสที่มีประสิทธิภาพหน่วยความจำสูงสุดสำหรับ Rust
ผสานรวม SmallPict เข้ากับบริการแบ็กเอนด์ปริมาณงานสูงที่เขียนด้วย Actix-Web, Axum หรือ Tokio เพื่อประมวลผลบัฟเฟอร์มีเดียอย่างคุ้มค่า
ติดตั้ง:
แพ็กเกจ RUSTcargo add smallpict-rsตัวอย่างการติดตั้งโค้ด
rustuse smallpict_rs::{SmallPictClient, OptimizeOptions, ImageFormat};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = SmallPictClient::new("sp_live_secret_key_xxxxx")?;
let image_bytes = tokio::fs::read("input.jpg").await?;
let optimized = client.optimize(&image_bytes, OptimizeOptions {
format: ImageFormat::Avif,
quality: 80,
max_width: Some(1920),
strip_metadata: true,
}).await?;
tokio::fs::write("output.avif", optimized.bytes).await?;
println!("Savings: {}% ({}ms)", optimized.savings_percentage, optimized.duration_ms);
Ok(())
}ขั้นตอนการเชื่อมต่อ
11. เพิ่มการอ้างอิง
เพิ่ม smallpict-rs ลงในไฟล์ Cargo.toml ของคุณ
22. เริ่มต้นไคลเอนต์
สร้างอินสแตนซ์ SmallPictClient ด้วย API Key หรือตัวแปรสภาพแวดล้อม
33. ปรับแต่งสตรีมไบต์
ส่งไบต์ภาพดิบและรับบัฟเฟอร์ AVIF/WebP ที่บีบอัดแล้วแบบอะซิงโครนัส
ประโยชน์หลัก
- I/O แบบ Non-blocking อะซิงโครนัส ขับเคลื่อนด้วย Tokio และ Reqwest
- ไม่มีปัญหาหน่วยความจำรั่วไหลและออกแบบให้ปลอดภัยต่อเธรด (Thread-safe)
- ประมวลผลบัฟเฟอร์สตรีมโดยตรงโดยไม่ต้องเขียนลงดิสก์เซิร์ฟเวอร์
- เวลาดำเนินการรวดเร็วเป็นพิเศษไม่ถึง 40ms
เอกสารสำหรับนักพัฒนาอย่างเป็นทางการ
ต้องการคู่มือการใช้งานและข้อมูลจำเพาะ API ครบชุดหรือไม่?
ศึกษาข้อมูลพารามิเตอร์ การยืนยันตัวตน และการทดสอบในระบบในคู่มือนักพัฒนา Rust Crate อย่างเป็นทางการของเรา
เพิ่มประสิทธิภาพไพป์ไลน์รูปภาพ Rust Crate ของคุณ
สัมผัสประสบการณ์เพิ่มประสิทธิภาพรูปภาพ AVIF และ WebP ต่ำกว่า 50ms ในแอปพลิเคชันของคุณ ไม่มีค่าติดตั้ง คีย์ทดลองใช้งานทันที
