fix: Handle exceptions in image processing functions

- Catch exceptions when reading image content to prevent errors.
- Adjust image resizing dimensions for better display.
This commit is contained in:
Rico van Zelst
2024-03-28 10:34:16 +01:00
parent 5b55e21659
commit 998f386f20
3 changed files with 13 additions and 9 deletions

View File

@@ -20,9 +20,13 @@ function getAverageColorFromImageUrl($imageUrl): string
{
$imgManager = new ImageManager(new Driver());
try {
$img = $imgManager->read(file_get_contents($imageUrl));
} catch (Exception $e) {
return '#904f2c';
}
$img->resize(24, 24);
$img->resize(32, 32);
$totalR = 0;
$totalG = 0;

View File

@@ -37,7 +37,7 @@ class ChampionController extends Controller
$splashColor = Cache::remember(
'championSplashColorCache' . $champion->slug,
$sixMonthsInSeconds,
static fn () => getAverageColorFromImageUrl($champion->getChampionImageAttribute())
static fn () => getAverageColorFromImageUrl('https://wsrv.nl/?url=' . $champion->getChampionImageAttribute())
);
$champion->splash_color = $splashColor;

View File

@@ -63,7 +63,7 @@ class ChampionSkinController extends Controller
$splashColor = Cache::remember(
'championSkinSplashColorCache' . $championSkin->slug,
60 * 60 * 120,
static fn () => getAverageColorFromImageUrl($championSkin->getSkinImageAttribute())
getAverageColorFromImageUrl('https://wsrv.nl/?url=' . $championSkin->getSkinImageAttribute())
);
$skin->splash_color = $splashColor;