fix: preserve f32 precision for WebP quality

This commit is contained in:
xfy 2026-06-09 15:43:16 +08:00
parent 2e2be7b16d
commit 7c6bab8019

View File

@ -202,7 +202,7 @@ fn process_image(
} }
image::ImageFormat::WebP => { image::ImageFormat::WebP => {
let config = crate::webp::WEBP_CONFIG.clone(); let config = crate::webp::WEBP_CONFIG.clone();
let webp_quality = params.quality.unwrap_or(config.quality as u8) as f32; let webp_quality = params.quality.map(|q| q as f32).unwrap_or(config.quality);
let webp_data = crate::webp::encode(&img, webp_quality, config.method) let webp_data = crate::webp::encode(&img, webp_quality, config.method)
.map_err(|_| StatusCode::INTERNAL_SERVER_ERROR)?; .map_err(|_| StatusCode::INTERNAL_SERVER_ERROR)?;
buf = std::io::Cursor::new(webp_data); buf = std::io::Cursor::new(webp_data);