我正在使用jQuery Fancybox 插件,效果很好。問題是我不喜歡在頁面加載時加載原始影像及其大小的事實。我需要以某種方式在頁面加載時加載此圖片的較小變體,并在單擊以顯示原始圖片時。當涉及到fancybox時,這很容易做到。但是較小變體的存盤程序讓我感到困惑。上傳時,我將存盤 2 張影像 - 原始影像和調整大小(較小變體)的影像。div包含照片較小變體的 設定為,這max-width:500px;max-height:150px;就是較小變體照片的大小調整方式。的最大寬度500px和最大高度150px. 另一個問題是如何保存影像的縱橫比?我將如何確定是否需要存盤第二張(較小的)照片。我很混亂。我在等你的回復。提前致謝。
較小的變體

原始變體-fancybox 打開

我正在使用影像干預。
我的專案在Laravel 8上。
uj5u.com熱心網友回復:
是的,您需要在存盤中存盤 2 張影像。
您需要定義影像的主要縱橫比的寬度或高度。檢查下面的代碼
// open an image file
$img = Image::make('public/foo.jpg');
// now you are able to resize the instance with maintaining aspect ratio
$img->resize(300, null, function ($constraint) { $constraint->aspectRatio(); });
// finally we save the image as a new file
$img->save('public/foo_sm.jpg');
我個人喜歡 spatie 媒體包(它在后面使用影像干預)。它使用多型關系處理單獨表上的媒體。看看檔案,太棒了
https://spatie.be/docs/laravel-medialibrary/v10/introduction
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/478325.html
下一篇:如何在perform_create中使用Validator來限制DjangoRestFramework的影像上傳大小?
