<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                * 高品質的圖像處理擴展包 官網:https://glide.thephpleague.com/ 作用效果 ![](https://img.kancloud.cn/39/47/3947e23bdf98c275aa00a40874845b74_1009x790.png) 原理很簡單,就是接收參數然后處理唄。如果用PHP做的話,不難,但是卻要寫好多代碼。操作GD庫太麻煩了。但現在,只要兩行代碼就能實現一套強大的圖片處理功能。 ``` // 實例化 $server = League\Glide\ServerFactory::create([ 'source' => 'path/to/source/folder', 'cache' => 'path/to/cache/folder', ]); // 可以在第二個參數傳入數組 $server->outputImage('users/1.jpg', ['w' => 300, 'h' => 400]); // 更簡單的做法,直接傳入GET參數 $server->outputImage($path, $_GET); ``` ![](https://img.kancloud.cn/9b/f4/9bf4192579796c9c05c92e733f6c9226_979x752.png) ![](https://img.kancloud.cn/da/c0/dac096561e6395c3dcf10f635502e173_968x402.png) ## 功能介紹 本文對幾個重點的功能做個介紹。 ### 尺寸效果fit 設置圖像如何適應新的尺寸。 支持的參數: * `contain`: 默認。 調整圖像大小以適應寬度和高度邊界,而無需裁剪、扭曲或改變縱橫比。 * `max`:調整圖像大小以適應寬度和高度邊界,而不會裁剪、扭曲或改變縱橫比,如果圖像小于輸出尺寸,也不會增加圖像的尺寸。 * `fill`:調整圖像大小以適應寬度和高度邊界,而不裁剪或扭曲圖像,剩余空間用背景色填充。 生成的圖像將匹配約束尺寸。 * `fill-max`:調整圖像大小以適應寬度和高度邊界而不裁剪,但如果圖像較小則放大圖像。 完成的圖像將在寬度或高度上具有剩余空間(除非新圖像的縱橫比與舊圖像的縱橫比相同)。 剩余空間將用背景色填充。 生成的圖像將匹配約束尺寸。 * `stretch`:拉伸圖像以完全適合約束尺寸。 生成的圖像將填充尺寸,并且不會保持輸入圖像的縱橫比。 * `crop`:調整圖像大小以填充寬度和高度邊界并裁剪任何多余的圖像數據。 生成的圖像將匹配寬度和高度限制,而不會扭曲圖像。 ### 裁剪crop 當尺寸效果設置為裁剪時,可以使用裁剪參數。 裁剪位置: 您還可以通過添加裁剪位置來設置裁剪圖像的位置。 接受`crop-top-left`,`crop-top`,`crop-top-right`,`crop-left`,`crop-center`,`crop-right`,`crop-bottom-left`,`crop-bottom`或者`crop-bottom-right`.默認是`crop-center`,并且與`crop`. ##### 作物焦點 除了裁剪位置之外,您還可以使用焦點更具體地確定確切的裁剪位置。 這是使用兩個偏移百分比定義的:`crop-x%-y%`. ~~~html <img src="kayaks.jpg?w=300&h=300&fit=crop-25-75"> ~~~ 您還可以選擇通過提供第三個值來放大您的焦點:一個介于1和100之間的浮點數。每個完整步長相當于100%縮放。 (例如。`x%-y%-2`相當于以200%的比例查看圖像)。 建議的范圍是1-10。 ~~~html <img src="kayaks.jpg?w=300&h=300&fit=crop-25-75-2"> ~~~ 預裁剪 在任何其他調整大小操作之前將圖像裁剪為特定尺寸。 要求的格式:`width,height,x,y`.就像使用截圖工具那樣,在先在圖片上截取一段。 ~~~html <img src="kayaks.jpg?crop=100,100,915,155"> ~~~ ### 存儲驅動 可以使用flysystem驅動,這意味著不僅可以操作本地的文件,還支持各類存儲方式,比如SFTP、FTP、對象存儲等等。 ~~~php // 圖片地址 $source = new League\Flysystem\Filesystem( new League\Flysystem\Local\LocalFilesystemAdapter('path/to/source/folder') ); // 緩存地址 $cache = new League\Flysystem\Filesystem( new League\Flysystem\Local\LocalFilesystemAdapter('path/to/cache/folder') ); $server = new League\Glide\Server( $source, $cache, ); ~~~ ### 標準返回Response 可以通過getImageResponse方法獲取標準的PSR-7響應對象,同時官方提供了laravel等框架的擴展響應對象。 ### 默認配置 可以設置默認的圖片處理設置。 ~~~php $server = League\Glide\ServerFactory::create([ 'defaults' => [ 'mark' => 'logo.png', 'markw' => '30w', 'markpad' => '5w', ] ]); ~~~ ### 預設 可以提前將各種參數設置好,然后直接傳入預設的名稱即可。比如下面的代碼: ~~~php <?php $server = League\Glide\ServerFactory::create([ 'presets' => [ 'small' => [ 'w' => 200, 'h' => 200, 'fit' => 'crop', ], 'medium' => [ 'w' => 600, 'h' => 400, 'fit' => 'crop', ] ] ]); ~~~ 然后直接使用預設就可以了: ~~~html <img src="kayaks.jpg?p=small"> ~~~ 也可以同時使用多個預設: ~~~html <img src="kayaks.jpg?p=small,watermarked"> ~~~ 甚至可以使用帶有附加參數的預設: ~~~html <img src="kayaks.jpg?p=small,watermarked&filt=sepia"> ~~~ ### 圖像驅動 支持GD庫和Imagick庫。 ~~~php $server = League\Glide\ServerFactory::create([ // 默認使用GD 'driver' => 'gd', // 使用ImageMagick 'driver' => 'imagick', ]); ~~~ ## 安裝 使用compsoer安裝即可。 ~~~bash composer require league/glide ~~~ ## 安全保護 glide提供了一套簽名機制,通過私鑰(一長串字符)生成一個token,只有攜帶了這個token才能調用參數,避免人們通過大量的圖像調整參數攻擊服務器。 ### 配置 ~~~php <?php use League\Glide\Signatures\SignatureFactory; use League\Glide\Signatures\SignatureException; try { // 設置秘鑰 $signkey = 'v-LK4WCdhcfcc%jt*VC2cj%nVpu+xQKvLUA%H86kRVk_4bgG8&CWM#k*b_7MUJpmTc=4GFmKFp7=K%67je-skxC5vz+r#xT?62tT?Aw%FtQ4Y3gvnwHTwqhxUh89wCa_'; // 驗證訪問 SignatureFactory::create($signkey)->validateRequest($path, $_GET); } catch (SignatureException $e) { // 處理異常 } ~~~ ### 生成URL ~~~php <?php use League\Glide\Urls\UrlBuilderFactory; // 上面的那個秘鑰 $signkey = 'v-LK4WCdhcfcc%jt*VC2cj%nVpu+xQKvLUA%H86kRVk_4bgG8&CWM#k*b_7MUJpmTc=4GFmKFp7=K%67je-skxC5vz+r#xT?62tT?Aw%FtQ4Y3gvnwHTwqhxUh89wCa_'; // 實例化 $urlBuilder = UrlBuilderFactory::create('/img/', $signkey); // 生成url $url = $urlBuilder->getUrl('cat.jpg', ['w' => 500]); // 使用url echo '<img src="'.$url.'">'; // 輸入預覽 <img src="/img/cat.jpg?w=500&s=af3dc18fc6bfb2afb521e587c348b904"> ~~~ ## 總結 只要簡單的幾行代碼,就實現了一套健全的圖片處理HTTP服務,當你有類似的需求的時候,抓緊用上吧。 ************************ 原文標題:\[league/glide\]兩行代碼實現一套強大的圖片處理HTTP服務 原文地址:[https://phpreturn.com/index/a64084605c3759.html](https://phpreturn.com/index/a64084605c3759.html) 原文平臺:[PHP武器庫](http://phpreturn.com/) 版權聲明:本文由[phpreturn.com](http://phpreturn.com/)(PHP武器庫官網)原創和首發,所有權利歸phpreturn(PHP武器庫)所有,本站允許任何形式的轉載/引用文章,但必須同時注明出處。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看