首頁 >後端開發 >php教程 >圖像調整大小使PHP變得容易

圖像調整大小使PHP變得容易

Lisa Kudrow
Lisa Kudrow原創
2025-03-01 10:23:09740瀏覽

Image Resizing Made Easy With PHP

>>

>是否想要一種通用,易於使用的方法來調整PHP的圖像?好吧,這就是PHP課程的目的 - 我們稱之為可以在幕後進行骯髒工作的功能。我們將學習如何創建自己的班級,這些班級將是可以很好地構建和擴展的。 

>

介紹

>
    >
  • 可以快速瞥見我們試圖在課堂上實現的目標,課程應該是:
  • >易於使用



,可以打開,調整,調整和保存不同的圖像格式

// *** Include the class<br>include("resize-class.php");<br><br>// *** 1) Initialize / load image<br>$resizeObj = new resize('sample.jpg');<br><br>// *** 2) Resize image (options: exact, height, width, auto, crop)<br>$resizeObj -> resizeImage(150, 100, 'crop');<br><br>// *** 3) Save image<br>$resizeObj -> saveImage('sample-resized.gif', 100);<br>
>有很多要涵蓋的東西 - LET是開始的。準備第一步很容易。在您的工作目錄中,創建兩個文件:一個稱為index.php 的文件,另一個 resize-class.php

2。調用對象讓您了解我們要實現的目標,我們將從編碼我們使用的調節來調整圖像大小的情況下開始。打開您的

index.php

文件並添加以下代碼。 如您所見,我們正在做的事情有一個不錯的邏輯。我們打開圖像文件,並設置要將圖像大小的尺寸設置為調整大小的類型。然後,我們保存圖像,選擇所需的圖像格式和質量。從上面的代碼中保存並關閉您的

index.phpfile。請記住,這全都與靈活性有關。 3。創建類骨骼>它是面向對象的編程(OOP),可以使這種輕鬆自然的含義。想想班級像模式;您可以封裝數據 - 另一個行話術語,實際上只是意味著隱藏數據。然後,我們可以一遍又一遍地重複此類,而無需重寫任何調整大小的代碼 - 您只需要像我們在步驟2中所做的那樣調用適當的方法。一旦創建了模式,我們就創建了該模式的實例,稱為對象。打開您的ressize-class.php文件。以下是一個真正的基本類骨骼結構,我將其命名為$ filename。 我們需要用PHP(更具體地說是PHP GD庫)打開傳遞的文件,以便PHP可以讀取圖像。我們正在使用自定義方法$ image作為私有變量來進行此操作,通過鍵入私有,您將限制該變量的範圍,因此只能由類訪問。從現在開始,我們可以打電話給我們的開放映像,稱為資源,我們將在調整大小時進行。

>當我們使用時,讓我們存儲圖像的高度和寬度。我有種感覺以後將有用。

>您現在應該擁有以下內容。

// *** Include the class<br>include("resize-class.php");<br><br>// *** 1) Initialize / load image<br>$resizeObj = new resize('sample.jpg');<br><br>// *** 2) Resize image (options: exact, height, width, auto, crop)<br>$resizeObj -> resizeImage(150, 100, 'crop');<br><br>// *** 3) Save image<br>$resizeObj -> saveImage('sample-resized.gif', 100);<br>

> imagesy()方法是內置功能,是GD庫的一部分。他們分別檢索了圖像的寬度和高度。在上一個步驟中打開圖像


,我們在PHP中調用了自定義方法strrchr()

函數,該功能從指定字符的最後一次出現到其末尾從最後出現返回主字符串的一部分。例如,fileName

papaya.jpg

將為我們提供.jpg ,並且文件名寬度 - 將設置寬度,將根據縱橫比調整高度。 (Height自動確定選項2和3。如果您通過具有不同尺寸照片的文件夾循環循環,請讓腳本確定如何處理此操作。 (作物

7。調整大小。讓我們做!首先是通過創建一些自定義方法來獲得我們新圖像的最佳寬度和高度,當然,如上所述,我們的調整大小選項傳遞。寬度和高度作為數組返回並將其設置為各自的變量。隨意通過參考來傳遞,但我不是那個忠實擁護者。

  • 第二部分是執行實際調整大小的方法。我們將使用兩個內置的PHP功能進行調整。它們是:
  • imageCopyResmplempled

  • >我建議您在文檔中閱讀有關它們的信息。

    >

    很簡而$ ImageResized;

    >
      帶有其他類變量。
    • 調整大小由PHP模塊(稱為GD庫)執行。我們正在使用的許多方法由此庫提供。
    • >

    在上面的代碼片段中,我們計算新的圖像尺寸並相應地創建一個真實的顏色圖像對象。然後將此圖像對像傳遞到高度

    或自動

    ,我們使用圖像的原始寬度和高度來確定調整大小的圖像是否應具有固定寬度或高度。對於景觀方向的圖像,我們將寬度保持固定。對於肖像方向的圖像,我們將高度保持固定。如果原始圖像是正方形,我們使用新的寬度和高度值選擇固定尺寸。

    $ optimalHeight

    $ optimalWidth<p>,我們用於調整。原因是我們的班級沒有直接將圖像直接裁剪為指定的寬度和高度,而是在調整大小後的圖像。</p> <p>>假設圖像的尺寸為1920W和1080h,您想將其裁剪為1200W和200h。如您所見,原始寬度與新寬度的比率將低於相應的高度比。因此,首先需要以使其寬度降至1200的方式進行調整大小,並且高度相應地變化。 </p>><p>>在調整大小後,將完成圖像的實際裁剪。 </p>><hr> <h2></h2>10。農作物<p></p>如果您選擇了農作物(即您已經使用了農作物選項),那麼您還有一個小步驟。我們將從中心裁剪圖像。裁剪與調整大小非常相似,但傳遞了幾個大小的參數。保存圖像<pre class="brush:php;toolbar:false">// *** Include the class&lt;br&gt;include(&quot;resize-class.php&quot;);&lt;br&gt;&lt;br&gt;// *** 1) Initialize / load image&lt;br&gt;$resizeObj = new resize('sample.jpg');&lt;br&gt;&lt;br&gt;// *** 2) Resize image (options: exact, height, width, auto, crop)&lt;br&gt;$resizeObj -&gt; resizeImage(150, 100, 'crop');&lt;br&gt;&lt;br&gt;// *** 3) Save image&lt;br&gt;$resizeObj -&gt; saveImage('sample-resized.gif', 100);&lt;br&gt;</pre> <hr>>我們要到達那裡;快要完成了。現在是時候保存圖像了。我們通過路徑並指定了我們想要的圖像質量,範圍為0-100,100是最好的。然後我們調用適當的方法。有關圖像質量的幾件事:JPG使用0-100的比例,100是最好的。 GIF圖像沒有圖像質量設置。 PNG做到了,但是他們使用0-9、0是最好的。這不是很好,因為我們不能每次要保存圖像時都會記住這一點。因此,我們可以做一些魔術來標準化所有內容。 <h2></h2> <p>現在也是銷毀我們的圖像資源以釋放一些內存的好時機。如果您要在生產中使用它,那麼捕獲並返回保存的圖像的結果也可能是一個好主意。感謝您遵循本教程,希望您發現它很有用。蒙蒂(Monty)是一位全棧開發人員,他也喜歡編寫教程並了解新的JavaScript庫。</p>

    以上是圖像調整大小使PHP變得容易的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    上一篇:與Zend作業隊列安排下一篇:暫無