<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] # 圖像 `Phalcon\Image` 是允許您操作圖像文件的組件。 可以對同一圖像對象執行多個操作。 ## 適配器 該組件使用適配器來封裝特定的圖像操縱器程序。支持以下圖像處理程序: | 類 | 描述 | | ---------------------------------- | ----------------------------------------------------------------------------------- | | `Phalcon\Image\Adapter\Gd` | 需要 [GD PHP extension](http://php.net/manual/en/book.image.php) | | `Phalcon\Image\Adapter\Imagick` | 需要 [ImageMagick PHP extension](http://php.net/manual/en/book.imagick.php) | ### 工廠 使用適配器選項加載`Image Adapter`類。 ```php <?php use Phalcon\Image\Factory; $options = [ 'width' => 200, 'height' => 200, 'file' => 'upload/test.jpg', 'adapter' => 'imagick', ]; $image = Factory::load($options); ``` ### 實現自己的適配器 必須實現`Phalcon\Image\AdapterInterface`接口才能創建自己的圖像適配器或擴展現有的圖像適配器。 ## 保存和渲染圖像 在我們開始使用圖像組件的各種功能之前,值得了解如何保存和渲染這些圖像。 ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); // ... // Overwrite the original image $image->save(); ``` ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); // ... // Save to 'new-image.jpg' $image->save('new-image.jpg'); ``` 您還可以更改圖像的格式: ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); // ... // Save as a PNG file $image->save('image.png'); ``` 保存為JPEG時,您還可以將質量指定為第二個參數: ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); // ... // Save as a JPEG with 80% quality $image->save('image.jpg', 80); ``` ## 調整圖像大小 有幾種調整大小的模式: * `\Phalcon\Image::WIDTH` * `\Phalcon\Image::HEIGHT` * `\Phalcon\Image::NONE` * `\Phalcon\Image::TENSILE` * `\Phalcon\Image::AUTO` * `\Phalcon\Image::INVERSE` * `\Phalcon\Image::PRECISE` ### `\Phalcon\Image::WIDTH` 將自動生成高度以保持比例相同;如果指定高度,則會被忽略。 ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); $image->resize( 300, null, \Phalcon\Image::WIDTH ); $image->save('resized-image.jpg'); ``` ### `\Phalcon\Image::HEIGHT` 將自動生成寬度以保持比例相同;如果指定寬度,則會被忽略。 ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); $image->resize( null, 300, \Phalcon\Image::HEIGHT ); $image->save('resized-image.jpg'); ``` ### `\Phalcon\Image::NONE` * `NONE` 常數忽略原始圖像比率。 * 寬度和高度都不是必需的。 * 如果未指定尺寸,則將使用原始尺寸。 * 如果新比例與原始比例不同,則圖像可能會扭曲和拉伸。 ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); $image->resize( 400, 200, \Phalcon\Image::NONE ); $image->save('resized-image.jpg'); ``` ### `\Phalcon\Image::TENSILE` * 與 `NONE` 常數類似,`TENSILE` 常量忽略原始圖像比率。 * 寬度和高度都是必需的。 * 如果新比例與原始比例不同,則圖像可能會扭曲和拉伸。 ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); $image->resize( 400, 200, \Phalcon\Image::TENSILE ); $image->save('resized-image.jpg'); ``` ## 裁剪圖像 例如,要從圖像中心獲得100px×100px的正方形: ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); $width = 100; $height = 100; $offsetX = (($image->getWidth() - $width) / 2); $offsetY = (($image->getHeight() - $height) / 2); $image->crop($width, $height, $offsetX, $offsetY); $image->save('cropped-image.jpg'); ``` ## 旋轉圖像 ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); // Rotate an image by 90 degrees clockwise $image->rotate(90); $image->save('rotated-image.jpg'); ``` ## 翻轉圖像 `\Phalcon\Image::HORIZONTAL`常量)和垂直翻轉圖像(使用`\Phalcon\Image::VERTICAL`常量): ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); // Flip an image horizontally $image->flip( \Phalcon\Image::HORIZONTAL ); $image->save('flipped-image.jpg'); ``` ## 銳化圖像 `sharpen()` 方法采用單個參數 - 0(無效果)和100(非常尖銳)之間的整數: ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); $image->sharpen(50); $image->save('sharpened-image.jpg'); ``` ## 為圖像添加水印 ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); $watermark = new \Phalcon\Image\Adapter\Gd('me.jpg'); // Put the watermark in the top left corner $offsetX = 10; $offsetY = 10; $opacity = 70; $image->watermark( $watermark, $offsetX, $offsetY, $opacity ); $image->save('watermarked-image.jpg'); ``` 當然,您也可以在將水印圖像應用到主圖像之前對其進行操作: ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); $watermark = new \Phalcon\Image\Adapter\Gd('me.jpg'); $watermark->resize(100, 100); $watermark->rotate(90); $watermark->sharpen(5); // Put the watermark in the bottom right corner with a 10px margin $offsetX = ($image->getWidth() - $watermark->getWidth() - 10); $offsetY = ($image->getHeight() - $watermark->getHeight() - 10); $opacity = 70; $image->watermark( $watermark, $offsetX, $offsetY, $opacity ); $image->save('watermarked-image.jpg'); ``` ## 模糊圖像 `blur()`方法采用單個參數 - 0(無效果)和100(非常模糊)之間的整數: ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); $image->blur(50); $image->save('blurred-image.jpg'); ``` <a name='pixelating'></a> ## 像素化圖像 `pixelate()` 方法采用單個參數 - 整數越高,圖像的像素化程度越高: ```php <?php $image = new \Phalcon\Image\Adapter\Gd('image.jpg'); $image->pixelate(10); $image->save('pixelated-image.jpg'); ```
                  <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>

                              哎呀哎呀视频在线观看