私はプロファイル写真をアップロードしています。これらの画像は、300×300ピクセルのときにページ上で見た目がよくなります。私はユーザーが自分の画像を切り抜かなければならないことを望んでいません。私は何とかバックエンドで画像を切り抜いて正方形にする必要があります。幼虫のサイズを小さくして画像を切り取る方法5.2
また、私は検証でファイルサイズに制限を設定しましたが、アップロード後にファイルサイズを変更する方法があるかどうかはわかりません。たとえば、私はいくつかのユーザーをプロファイル・ピクチャの小さいバージョンでホームページに表示します。この特定のページのファイル・サイズを減らしてページを高速にロードする方法はありますか。
概要:
- 私は、ユーザー登録時にプロフィール写真をトリミングしたい:私はlaravel内の画像には2つの問題があります。
- サムネイル画像のサイズを小さくしたいと思います。
プロフィール画像をアップロードするためのコードです。
public function register(Request $request)
{
$this->validate($request,[
'first_name' => 'required|max:255',
'family_name' => 'required|max:255',
'password' => 'required|min:6|confirmed',
'picture' => 'mimes:jpeg,png|required|max:500',
// MAKE DESCRIPTION REQUIRED ON DEPLOY 'description' => 'required|min:50'
]);
$user = new User;
$user->first_name = $request->first_name;
$user->family_name = $request->family_name;
$user->password = $request->password;
$user->save();
$file = Input::file('picture');
$file->move(public_path().'/images/',$user->id.'.jpg');
$image = new Image;
$image->path='/images/'.$user->id.'.jpg';
$image->user_id = $user->id;
$image->save();
flash('Thank you for registering. Please verify your email address');
ここに私のユーザーのプロフィール画像が表示されます。
<img src={{$image->path}} alt={{$image->path}} style="max-width:300px;max-height:300px;border-radius:10px;">
可能な複製http://stackoverflow.com/questions/14649645/resize-image-in-phpとhttp://stackoverflow.com/questions/1855996/crop-image-in-php(一般向けPHPソリューション、それは必ずしもLaravelの質問ではありません) – herrjeh42
サムネイルを追加する面では、@codefocusのようなパッケージを使うことができますが、残念です。特に、普通300x300でかなりうまく圧縮するjpgを使用している場合、サムがどれほど小さいか(ファイルサイズのメリットとシャープネス)と、ユーザーが最終的に大きなイメージ(キャッシュのメリット)をどれくらい表示するかによって異なります。 – ldg