<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國際加速解決方案。 廣告
                # 圖像操作 Nette \ Utils \ Image類用于基本的圖像處理。 它簡化了基本操作,如圖像大小調整,銳化或將圖像發送到瀏覽器。 如果你想在PHP中操作圖像(比如縮放或銳化圖像),你必須編寫一個不可讀和不可理解的代碼。 它不會是Nette框架,如果它沒有來更好的API :-) 我們可以從加載文件中的圖像開始: ~~~ use Nette\Utils\Image; $image = Image::fromFile('nette.jpg'); ~~~ 或者我們可以創建新的空白圖像,大小為100×200: ~~~ $image = Image::fromBlank(100, 200); ~~~ 我們可以選擇設置背景顏色(默認為黑色): ~~~ $image = Image::fromBlank(100, 200, Image::rgb(125, 0, 0)); ~~~ 我們會寫出它的大小: ~~~ echo "Image size is: $image->width × $image->height"; ~~~ ## 圖像調整大小 我們將按比例縮小圖像,使其不超過50×30像素: ~~~ $image->resize(50, 30); ~~~ 可以只設置一個維度,計算第二個維度: ~~~ $image->resize(50, NULL); // width 50px, height auto $image->resize(NULL, 30); // width auto, height 30px ~~~ 任何維度也可以百分比設置: ~~~ $image->resize('75%', 30); // 75% × 30px ~~~ 在所提到的示例中,圖像僅按比例縮小。 可以通過使用指令Image :: ENLARGE允許放大: ~~~ $image->resize(50, 30, Image::ENLARGE); ~~~ 使用指令Image :: STRETCH,我們可以允許大小的非比例變化: ~~~ $image->resize(50, 30, Image::STRETCH); ~~~ 兩個指令可以組合: ~~~ $image->resize(50, 30, Image::ENLARGE | Image::STRETCH); ~~~ 如果我們將一個或兩個維度作為負數寫入,圖像將被翻轉(水平或垂直): ~~~ $flipped = $image->resize(NULL, '-100%'); // flip vertically $flipped = $image->resize('-100%', '-100%'); // rotate by 180° $flipped = $image->resize(-125, 50); // resize & flip horizontally ~~~ ## 圖像修改 減少圖像后,我們可以通過銳化來改善它: ~~~ $image->sharpen(); ~~~ 我們還可以通過矩形的坐標修剪圖像: ~~~ $image->crop($left, $top, $width, $height); ~~~ 縮小的圖像可以插入到另一個(所謂的水印)中。 ~~~ $blank = Image::fromBlank(320, 240, Image::rgb(52, 132, 210)); $blank->place($image, 0, 0); // place into a position 0px, 0px // coordinates can be set also in percentage $blank->place($image, '80%', '75%', 25); // transparency is 25 % ~~~ Nette \ Utils \ Image簡化了從GD擴展中調用所有圖形函數,例如imagefilledrectangle,但使用更易理解的對象方法。 ~~~ $white = Image::rgb(255, 255, 255); $image->filledRectangle(0, 0, $width, $height, $white); ~~~ ## 圖像保存 圖像可以保存到文件中: ~~~ $image->save('resampled.jpg'); ~~~ 自動地,也可以設置圖像的質量和格式(如果格式未設置,它從文件擴展名檢測到): ~~~ $image->save('resampled.jpg', 80, Image::JPEG); // JPEG, quality 80% ~~~ 或者,圖像可以保存到變量中: ~~~ $binary = (string) $image; ~~~ 或者您可以使用相應的標題Content-Type的設置將其直接發送到瀏覽器: ~~~ // send it like image/jpeg $image->send(); // send it like image/png $image->send(Image::PNG); ~~~ 這樣的API真的很高興使用,不是嗎?
                  <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>

                              哎呀哎呀视频在线观看