Laravelで画像変換を行っています。私が欲しいのは、画面に表示されている画像がページに読み込まれ、サムネイルに変換されて画面に表示されるときです。今はサムネイルに変換されていない画像を画面に表示することができるので、ページをロードすると画面に画像を表示するには時間がかかりすぎます。私は誰かが私を助けることを願っていますLaravelで画面に表示中に実行時にサムネイルを作成する
答えて
私はLaravel 5でImagineライブラリを使用しました。 飛行中に画像サムネイルを作成する場合は、これを行います。
- イメージコントローラImageController.phpを作成し、コードの下に貼り付けて、この
Route::get('/images1/{file}', '[email protected]');
にweb.phpにルートを追加https://github.com/orchestral/imagine
- を通じてこのライブラリを統合します。
<?php
名前空間App \ Http \ Controllers; Illuminate \ Foundation \ Bus \ DispatchesJobsを使用します。 Illuminate \ Routing \ ControllerをBaseControllerとして使用します。 Illuminate \ Foundation \ Validation \ ValidatesRequestsを使用します。 イルミネーション\ Foundation \ Auth \ Access \ AuthorizesRequestsを使用します。 イルミネーション\ Support \ Facades \ Fileを使用します。 Illuminate \ Support \ Facades \ Configを使用します。 セッションを使用します。 ビューを使用します。 ルートを使用します。 応答を使用します。
クラスImageControllerがBaseControllerを拡張{
保護$想像。
パブリック関数のgetImage($ファイル名){
//if (!$this->imagine) { // if (!$this->library and class_exists('Imagick')) { // $this->imagine = new \Imagine\Imagick\Imagine(); // } else { // $this->imagine = new \Imagine\Gd\Imagine(); // } //} $this->imagine = new \Imagine\Gd\Imagine(); // Append the filename to the path where our images are located $path = "C:\\xampp\\htdocs\\Eidolon_laravel-Git\\public\\Images\\".$filename; //$filename; $filename1 = $filename; // Initialize an instance of Symfony's File class. // This is a dependency of Laravel so it is readily available. $filename = new \Symfony\Component\HttpFoundation\File\File($path); // Make a new response out of the contents of the file // Set the response status code to 200 OK $response = Response::make( //\File::get($path), $this->resize($filename, 150,150), 200 ); // Modify our output's header. // Set the content type to the mime of the file. // In the case of a .jpeg this would be image/jpeg $response->header( 'Content-type', 'image/jpg' //$file->getMimeType() ); // We return our image here. //return view('value.pushMessages', $response); return $response;
}
/*
- 関数のサイズを変更します。
- @param列sizeString *
@returnブロブ画像内容
- @param文字列のファイル名。 */ public function resize($ filename、$ width、$ height){
//設定ファイルから出力パスを読み取ることができます。 // $ outputDir = \ Config :: get( 'assets.images.paths.output'); $ outputDir = "C:\ xampp \ htdocs \ Eidolon_laravel-Git \ public \ Images \ Output";
//サイズとファイル名から出力ファイルパスを作成します。 $ outputFile = $ outputDir。 $ filename;
//サイズ変更されたファイルが既に存在する場合は、それを返します。 if(\ File :: isFile($ outputFile)){ return \ File :: get($ outputFile); }
//ファイルはまだ存在しないため、オリジナルのサイズを変更します。 // $ inputDir = \ Config :: get( 'assets.images.paths.input'); // $ inputFile = $ inputDir。 '/'。 $ filename;
$ inputFile = $ filename; //設定ファイルから選択したサイズの幅と高さを取得します。 // $ sizeArr = Config :: get( 'assets.images.sizes。'。$ sizeString); // $ width = $ sizeArr ['width']; // $ height = $ sizeArr ['height'];
//リサイズモードとサイズを設定するために画像を切り抜きたい。 $ size = new \ Imagine \ Image \ Box($ width、$ height); $ mode = \ \ Image \ ImageInterface :: THUMBNAIL_OUTBOUNDを想像してください。
//出力ディレクトリがまだ存在しない場合は作成します。 if(!\ File :: isDirectory($ outputDir)){ \ File :: makeDirectory($ outputDir); }
//ファイルを開き、サイズを変更して保存します。 $ this-> imagine-> open($ inputFile) - >サムネイル($ size、$ mode) - > save($ outputFile、array( 'quality' => 90));
//サイズ変更されたファイルを返します。 return \ File :: get($ outputFile);
}
/**
- @param列$ファイル名
@return列MIMEタイプ */ パブリック関数のgetMimeType($ファイル名){
////入力ファイルのパスを作ります。 // $ inputDir = \ Config :: get( 'assets.images.paths.input'); // $ inputFile = $ inputDir。 '/'。 $ filename; $ inputFile = $ filename; // Symfony Fileクラスを使用してファイルのMIMEタイプを取得します。 $ file = new \ Symfony \ Component \ HttpFoundation \ File \ File($ inputFile); return $ file-> getMimeType();
}}
?>
今あなたのコードを実行します。
- 1. 実行時にAR Unityを使ってGameObjectを画面中央に表示
- 2. スクリプトの実行中にスプラッシュ画面を表示
- 3. スクロール時に画面中央に表示されるオブジェクト
- 4. Laravelで画像をアップロード中にサムネイルを作成できません
- 5. bashスクリプトを実行中にLaravel 5.3でリアルタイムログを表示する
- 6. 実行時にアンドロイド表示を作成する
- 7. コード実行時にPython Turtleで空白の画面が表示される
- 8. ブート時にインタラクティブスクリプトを実行し、デフォルトのtty添付のモニタ画面に表示
- 9. 起動時にスプラッシュ画面を表示
- 10. 録画したビデオのサムネイルを次の画面に表示する
- 11. 画像を短時間画面にランダムに表示するアンドロイドでアクティビティを作成したい
- 12. アプリが実行中にiOSの黒い画面が表示される
- 13. Tkinterアプリケーション実行中に空白の画面が表示される
- 14. アクション実行中の画面を表示し、ASP.Net MVCでAJAXを使用せずに実行されたアクションの最終画面を表示
- 15. 実行時に値を入力して実行中に表示する
- 16. アプリを実行中にKivyアプリの画面が表示されない
- 17. SDLで画面が表示されない前に画像を作成する
- 18. 実際にその画面を開かずに画面を作成して実行する
- 19. 長時間実行中の画面スクラップスクリプトの実行
- 20. 画面とファイルに同時にstdoutを表示する
- 21. Androidで発信中にダイヤラー画面にトーストメッセージを表示
- 22. デバイス画面の中央に常に表示する
- 23. デバッグなしで実行中に画面がフリーズする
- 24. Angular2でループ中にデータが画面に表示されない
- 25. IE:画面上に中心とオーバーレイを表示する
- 26. React - ajaxing中に画面を表示する
- 27. 画面の中央にポップアップメニューを表示する方法
- 28. 投稿時にサムネイルが表示されないKalturaの動画
- 29. マウスオーバーで前面/シャッフルにサムネイルを表示しますか?
- 30. VBで画像を表示する実行時の画像ボックス