diff --git a/src/thumbnail.rs b/src/thumbnail.rs index b510903..95c7a90 100644 --- a/src/thumbnail.rs +++ b/src/thumbnail.rs @@ -173,7 +173,15 @@ pub async fn thumbdata_save( } /// Выбирает ближайший подходящий размер из предопределённых. +/// Если `requested_width` больше максимальной ширины в `THUMB_WIDTHS`, +/// возвращает максимальную ширину. pub fn find_closest_width(requested_width: u32) -> u32 { + // Проверяем, превышает ли запрошенная ширина максимальную доступную ширину + if requested_width > *THUMB_WIDTHS.last().unwrap() { + return *THUMB_WIDTHS.last().unwrap(); + } + + // Находим ширину с минимальной абсолютной разницей с запрошенной *THUMB_WIDTHS .iter() .min_by_key(|&&width| (width as i32 - requested_width as i32).abs())