Rumah > pembangunan bahagian belakang > tutorial php > Saiz semula gambar dibuat mudah dengan php

Saiz semula gambar dibuat mudah dengan php

Lisa Kudrow
Lepaskan: 2025-03-01 10:23:09
asal
731 orang telah melayarinya

Image Resizing Made Easy With PHP

Pernah mahu kaedah yang mudah digunakan, mudah digunakan untuk mengubah saiz imej anda dalam PHP? Nah, itulah kelas PHP untuk kepingan -kepingan fungsi yang boleh kita panggil untuk melakukan kerja kotor di belakang tabir. Kami akan belajar bagaimana untuk mencipta kelas kita sendiri yang akan dibina dengan baik dan boleh dikembangkan. 

Pengenalan

Untuk memberi anda gambaran yang cepat tentang apa yang kami cuba capai dengan kelas kami, kelas harus:

  • Buat kelas dan objek, dan walaupun kemahiran ini akan membantu, tidak perlu untuk mengikuti tutorial ini. Penyediaan
  • Langkah pertama adalah mudah. Dalam direktori kerja anda, buat dua fail: satu yang dipanggil
  • index.php
  • dan yang lain
  • resize-class.php

2. Memanggil objek

untuk memberi anda idea tentang apa yang kami cuba capai, kami akan mulakan dengan mengodkan panggilan yang akan kami gunakan untuk mengubah saiz imej. Buka fail

index.php

anda dan tambahkan kod berikut. Kami membuka fail imej, dan kami menetapkan dimensi yang kami ingin saiz imej dan jenis saiz semula. Kemudian kami menyimpan imej, memilih format imej dan kualiti yang kami mahukan. Simpan dan tutup fail index.php . Ingat, ini semua tentang fleksibiliti.

3. Buat skeleton kelas

Pengaturcaraan berorientasikan objek (OOP) yang menjadikan rasa mudah ini mungkin. Fikirkan kelas seperti corak; Anda boleh merangkum data -satu lagi istilah jargon yang benar -benar hanya bermaksud menyembunyikan data. Kami kemudian boleh menggunakan semula kelas ini berulang kali tanpa perlu menulis semula mana -mana kod saiz semula -anda hanya perlu memanggil kaedah yang sesuai, seperti yang kita lakukan dalam langkah 2. Sebaik sahaja corak kami telah dibuat, kami membuat contoh corak ini, yang dipanggil objek. Buka

saiz semula class.php

fail. Di bawah ini adalah struktur kerangka kelas yang benar -benar asas yang saya namakan $ filename .

Kami perlu membuka fail yang diluluskan dengan PHP (lebih khusus PHP GD Library) supaya PHP dapat membaca imej. Kami melakukan ini dengan kaedah tersuai $ imej

sebagai pemboleh ubah peribadi dengan menaip peribadi , anda mengehadkan skop pembolehubah itu supaya ia hanya boleh diakses oleh kelas. Mulai sekarang, kita boleh membuat panggilan ke imej yang dibuka, yang dikenali sebagai sumber, yang akan kita lakukan kemudian apabila kita mengubah saiz.

Semasa kita berada di situ, mari kita menyimpan ketinggian dan lebar imej. Saya mempunyai perasaan ini akan berguna kemudian.

Anda kini harus mempunyai yang berikut. Mereka mengambil lebar dan ketinggian imej anda. Membuka imej

// *** 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>
Salin selepas log masuk
Pada langkah sebelumnya, kami memanggil kaedah Custom strrchr ()

fungsi dalam php, yang mengembalikan sebahagian daripada rentetan utama dari kejadian terakhir watak yang ditentukan hingga akhir. Sebagai contoh, nama fail papaya.jpg

akan memberi kami
.jpg

, dan nama fail

i.like.papaya.jpg

Lebar lebar -lebar akan ditetapkan, ketinggian akan diselaraskan mengikut nisbah aspek. (ketinggian ) pilihan auto-determine 2 dan 3. Jika anda melingkari folder dengan foto saiz yang berbeza, biarkan skrip menentukan cara mengendalikan ini. (tanaman ) 7. Saiz semula. Mari kita lakukan! Terdapat dua bahagian untuk kaedah saiz semula. Yang pertama adalah mendapat lebar dan ketinggian yang optimum untuk imej baru kami dengan membuat beberapa kaedah tersuai -dan tentu saja lulus dalam pilihan saiz semula kami seperti yang diterangkan di atas. Lebar dan ketinggian dikembalikan sebagai array dan ditetapkan kepada pembolehubah masing -masing. Jangan ragu untuk lulus dengan rujukan -tetapi saya bukan peminat besar itu. Kami akan menggunakan dua fungsi PHP terbina dalam untuk saiz semula kami. Mereka adalah:

imageCopyResampled

  • Saya cadangkan anda membaca tentang mereka dalam dokumentasi. $ Imageresized;
  • dengan pemboleh ubah kelas anda yang lain. Banyak kaedah yang kami gunakan disediakan oleh perpustakaan ini. Objek imej ini kemudian diluluskan ke ketinggian atau auto
  • , kami menggunakan lebar dan ketinggian asal imej untuk menentukan sama ada imej saiznya harus mempunyai lebar atau ketinggian tetap. Untuk imej dalam orientasi landskap, kami mengekalkan lebar tetap. Untuk imej dalam orientasi potret, kami mengekalkan ketinggian. Jika imej asal adalah persegi, kami memilih dimensi tetap menggunakan nilai lebar dan ketinggian baru.

    $ optimalheight

    dan $ optimalwidth <p>, yang kami gunakan untuk saiz semula. Sebabnya ialah bukannya menanam imej secara langsung ke lebar dan ketinggian yang ditentukan, kelas kami menanam imej selepas saiz semula. </p> <p> Katakan dimensi imej adalah 1920W dan 1080H, dan anda mahu menanamnya ke 1200W dan 200h. Seperti yang anda lihat, nisbah lebar asal ke lebar baru akan lebih rendah daripada nisbah ketinggian yang sepadan. Oleh itu, imej itu perlu terlebih dahulu diubah suai sedemikian rupa sehingga lebarnya turun hingga 1200 dan ketinggian berubah dengan sewajarnya. Tanaman </p> <p> Jika anda memilih tanaman -iaitu, anda telah menggunakan pilihan tanaman -maka anda mempunyai satu lagi langkah kecil. Kami akan menanam imej dari pusat. Tanaman adalah proses yang sangat serupa untuk mengubah saiz tetapi dengan beberapa parameter saiz lebih banyak yang diluluskan. Simpan imej </p> <hr> Kami sampai di sana; hampir selesai. Kini sudah tiba masanya untuk menyimpan gambar. Kami melewati jalan dan menentukan kualiti imej yang kami ingin mulai dari 0-100, 100 yang terbaik. Kemudian kami memanggil kaedah yang sesuai. Beberapa perkara yang perlu diperhatikan mengenai kualiti imej: JPG menggunakan skala 0-100, 100 yang terbaik. Imej GIF tidak mempunyai tetapan kualiti imej. PNGs lakukan, tetapi mereka menggunakan skala 0-9, 0 menjadi yang terbaik. Ini tidak baik kerana kita tidak boleh mengharapkan diri kita ingat ini setiap kali kita mahu menyimpan imej. Oleh itu, kita boleh melakukan sedikit sihir untuk menyeragamkan segala -galanya. Sekiranya anda menggunakannya dalam pengeluaran, ia mungkin juga merupakan idea yang baik untuk menangkap dan mengembalikan hasil imej yang disimpan. Terima kasih kerana mengikuti tutorial ini, dan saya harap anda dapati ia berguna. Monty adalah pemaju penuh stack yang juga suka menulis tutorial dan belajar tentang perpustakaan JavaScript baru. <h2> </h2>

    Atas ialah kandungan terperinci Saiz semula gambar dibuat mudah dengan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Artikel terbaru oleh pengarang
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan