Rumah pembangunan bahagian belakang tutorial php php下尝试使用GraphicsMagick的缩略图功能_php技巧

php下尝试使用GraphicsMagick的缩略图功能_php技巧

May 17, 2016 am 09:22 AM
lakaran kecil

常用的图片处理工具有GDImageMagickGraphicsMagick等等。GD就是个阿斗,略过不提;ImageMagick是目前最流行的图片处理工具,它的功能非常丰富;GraphicsMagick的功能略逊于ImageMagick,但是它的效率更强悍,就好比Apache和Nginx一样,一个功能更强,一个效率更胜。

现在更看重效率,所以本文就以GraphicsMagick为例来说说:

对于PHPer来说,有两种使用GraphicsMagick的方式:

1:使用PECL Gmagick扩展。
2:使用GraphicsMagick命令行。

PECL扩展的方式我并不喜欢,一来PECL代码Bug多多,二来PECL扩展的实现,代码写起来很罗嗦:比如缩放一个GIF动画图片,如果你用命令行的方式,一句话就搞定,而用PECL扩展的话,还得先算动画有几帧,再循环处理,很麻烦。所以说我更倾向于使用命令行的方式,虽然命令行操作听起来很“重”,但如果建立若干台图片服务器,通过Gearman连接起来,其实很是很有弹性的。

下面我们就以GraphicsMagick为例,采用命令行的方式来看看如何使用缩略图功能:

先上一个原始图片(input.jpg:160x120),以后的各个例子都会用到它:

php下尝试使用GraphicsMagick的缩略图功能_php技巧

BTW:列位看官现在可以咽口水了。

缩略图1

gm convert input.jpg -thumbnail '100x100' output_1.jpg

php下尝试使用GraphicsMagick的缩略图功能_php技巧

实际生成的图片大小是:100x75,也就是说说按此命令,会保持图片比例不变生成缩略图。这样很不错,但是有一个潜在的问题:我们不能简单明了的知道图片的最终大小,结果是前端显示的时候,无法设置img标签的width和height属性,如果我没记错的话,一般是推荐设定width和height属性的,否则浏览器渲染起来可能会稍稍慢一点。

缩略图2

gm convert input.jpg -thumbnail '100x100!' output_2.jpg

php下尝试使用GraphicsMagick的缩略图功能_php技巧

这次
实际生成的图片大小按定义来,但图片变形了,有时候这是不能接受的。

缩略图3


gm convert input.jpg -thumbnail '100x100^' \
-gravity center -extent 100x100 output_3.jpg

php下尝试使用GraphicsMagick的缩略图功能_php技巧

这次不仅保证了大小,还保证了比例。不过图片经过了裁剪。

缩略图4

gm convert input.jpg -thumbnail '100x100' \
-background gray -gravity center -extent 100x100 output_4.jpg

php下尝试使用GraphicsMagick的缩略图功能_php技巧

这次不仅保证了大小,还保证了比例,同时没有对图片进行任何裁剪,多余的部分按指定颜色进行填充。

缩略图5

gm convert input.jpg -thumbnail '10000@' \
-background gray -gravity center -extent 100x100 output_5.jpg

php下尝试使用GraphicsMagick的缩略图功能_php技巧

这次保证了大小和比例,其中的10000就是100x100的乘积,同时在填充和裁剪之间做了一个平衡。


明白了以上几个例子,缩略图基本就能通吃了,肯定有一种会适合你的需求。GraphicsMagick的资料非常少,但好消息是GraphicsMagick和ImageMagick的用法基本兼容,所以你可以通过
ImageMagick的资料来套用。

补充:如果想让用户手动裁剪头片的话,imgAreaSelect是个好选择。

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melumpuhkan pratonton lakaran kecil bar tugas dalam Win11 Matikan teknik lakaran kecil paparan ikon bar tugas dengan menggerakkan tetikus Bagaimana untuk melumpuhkan pratonton lakaran kecil bar tugas dalam Win11 Matikan teknik lakaran kecil paparan ikon bar tugas dengan menggerakkan tetikus Feb 29, 2024 pm 03:20 PM

Artikel ini akan memperkenalkan cara untuk mematikan fungsi lakaran kenit yang dipaparkan apabila tetikus menggerakkan ikon bar tugas dalam sistem Win11. Ciri ini dihidupkan secara lalai dan memaparkan lakaran kecil tetingkap semasa aplikasi apabila pengguna menuding tetikus pada ikon aplikasi pada bar tugas. Walau bagaimanapun, sesetengah pengguna mungkin mendapati ciri ini kurang berguna atau mengganggu pengalaman mereka dan ingin mematikannya. Lakaran kecil bar tugas boleh menjadi menyeronokkan, tetapi ia juga boleh mengganggu atau menjengkelkan. Memandangkan kekerapan anda menuding di atas kawasan ini, anda mungkin telah menutup tetingkap penting secara tidak sengaja beberapa kali. Kelemahan lain ialah ia menggunakan lebih banyak sumber sistem, jadi jika anda telah mencari cara untuk menjadi lebih cekap sumber, kami akan menunjukkan kepada anda cara untuk melumpuhkannya. tetapi

Bagaimana untuk menyesuaikan imej kecil folder dalam Windows 11 22H2 Bagaimana untuk menyesuaikan imej kecil folder dalam Windows 11 22H2 Apr 30, 2023 pm 04:52 PM

Windows 1122H2 ialah kemas kini ciri pertama untuk Windows 11 dan sepatutnya membawa satu tan ciri baharu dan penambahbaikan yang amat diperlukan. Salah satu penambahbaikan ialah keupayaan untuk melihat imej kecil folder fail dalam folder. Jika anda tidak menyukai rupa lakaran kecil folder dalam Windows 11, berikut ialah cara anda boleh menukarnya. Satu set ikon tersuai untuk lakaran kenit folder dalam Windows 11 (ikhsan LEXX911 Reddit) yang membolehkan anda mengezum masuk pada pratonton dan menukar gaya ikon folder. Anda masih perlu berurusan dengan pratonton fail individu (dalam Windows 7, sebagai contoh, lakaran kecil folder boleh memaparkan berbilang imej pada masa yang sama), tetapi anda boleh menjadikannya lebih besar dan lebih mudah. NOTA PENTING:

Bagaimana untuk memaparkan imej kecil dalam Vscode_Cara untuk memaparkan imej kecil dalam Vscode Bagaimana untuk memaparkan imej kecil dalam Vscode_Cara untuk memaparkan imej kecil dalam Vscode Apr 02, 2024 pm 02:43 PM

1. Mula-mula masukkan Kod Visual Studio dan klik [Fail] di sudut kiri atas. 2. Kemudian klik [Keutamaan]. 3. Klik item [Tetapan]. 4. Kemudian klik [Teks Editor-Thumbnail]. 5. Akhir sekali, dalam item lakaran kenit, hidupkan [Kawal sama ada untuk memaparkan lakaran kecil].

Penjanaan lakaran kecil automatik menggunakan JavaScript Penjanaan lakaran kecil automatik menggunakan JavaScript Jun 16, 2023 pm 12:51 PM

Dengan perkembangan Internet, gambar telah menjadi bahagian yang sangat diperlukan dalam laman web. Tetapi apabila bilangan imej meningkat, kelajuan memuatkan imej telah menjadi isu yang sangat penting. Untuk menyelesaikan masalah ini, banyak tapak web menggunakan lakaran kecil untuk memaparkan imej, tetapi untuk menghasilkan lakaran kecil, kita perlu menggunakan alat pemprosesan imej profesional, yang merupakan perkara yang sangat menyusahkan bagi sesetengah orang bukan profesional. Kemudian, menggunakan JavaScript untuk mencapai penjanaan lakaran kecil automatik menjadi pilihan yang baik. Cara menggunakan JavaS

Bagaimana untuk memaparkan lakaran kecil dalam pemacu USB Bagaimana untuk memaparkan lakaran kecil dalam pemacu USB Feb 12, 2024 pm 08:36 PM

Saya sering menemui pelanggan yang mengatakan bahawa beberapa masalah komputer kecil sangat menyusahkan pada masa kritikal. Secara ringkasnya, terdapat perkara berikut. Sebab mengapa fail tidak boleh disalin ke pemacu kilat USB mungkin kerana format partition pemacu kilat USB ialah FAT32 dan bukannya NTFS. Anda boleh cuba menukar format partition pemacu kilat USB kepada NTFS supaya anda boleh menyalin fail besar. Kedua, gambar tidak dipaparkan sebagai lakaran kecil, jadi anda perlu klik padanya satu persatu untuk mencarinya. Jenis ketiga ialah halaman tiba-tiba menjadi lebih besar atau lebih kecil. Jika anda tidak mengetahui ketiga-tiga situasi ini, ia boleh diselesaikan dengan beberapa operasi mudah. 1. Tukar partition cakera U kepada NTFS Format partition lalai bagi cakera U yang baru dibeli biasanya FAT32 Dalam keadaan biasa, tiada masalah untuk menggunakannya. Walau bagaimanapun, apabila anda perlu menyalin fail yang lebih besar daripada 4G, gesaan yang tidak boleh disalin akan muncul, yang membawa beberapa masalah untuk digunakan. untuk

Penjelasan terperinci tentang langkah-langkah untuk menghasilkan lakaran kecil dalam PHP Penjelasan terperinci tentang langkah-langkah untuk menghasilkan lakaran kecil dalam PHP Sep 13, 2023 am 08:40 AM

Penjelasan terperinci tentang langkah-langkah untuk menjana lakaran kecil dengan PHP, contoh kod khusus diperlukan Dalam era pembangunan Internet yang pesat hari ini, gambar merupakan bahagian yang tidak boleh diketepikan dalam laman web, tetapi gambar beresolusi tinggi bukan sahaja akan mengambil banyak lebar jalur, tetapi. juga mempengaruhi kelajuan pemuatan halaman web pengguna. Oleh itu, kita selalunya perlu menjana imej kecil daripada imej asal untuk mengurangkan saiz imej dan saiz fail. Sebagai bahasa skrip sebelah pelayan yang popular, PHP menyediakan fungsi pemprosesan imej yang kaya yang boleh digunakan untuk menjana imej kecil. Berikut akan memperkenalkan secara terperinci langkah-langkah untuk menghasilkan lakaran kecil dalam PHP.

Bagaimana untuk memasukkan jadual dalam persembahan Powerpoint Bagaimana untuk memasukkan jadual dalam persembahan Powerpoint Apr 13, 2023 pm 10:37 PM

Jadual dalam persembahan PowerPoint membantu memaparkan data dalam format berstruktur apabila anda membentangkan. Nombor yang ditunjukkan dalam jadual mempunyai kesan yang lebih baik kepada penonton. Microsoft Powerpoint mempunyai beberapa cara untuk menambah jadual pada pembentangan anda. Anda boleh memilih untuk menambah jadual baharu atau menyalin daripada jadual sedia ada dalam aplikasi lain seperti Excel atau Word. Kaedah 1: Sisipkan jadual dengan memilih baris dan lajur pada grid Langkah 1: Pada lakaran kecil PowerPoint, klik kanan Slaid Master dan pilih Slaid Baharu. Langkah 2: Pergi ke Sisipkan dan klik Jadual. Langkah 3: Daripada menu lungsur turun, pilih jumlah bilangan baris dan lajur yang diperlukan untuk jadual. Notis

Bagaimana untuk melaksanakan tatal imej dan pratonton lakaran kecil dalam Vue? Bagaimana untuk melaksanakan tatal imej dan pratonton lakaran kecil dalam Vue? Aug 18, 2023 pm 01:51 PM

Bagaimana untuk melaksanakan tatal imej dan pratonton lakaran kecil dalam Vue? Dalam projek Vue, kami selalunya perlu memaparkan sejumlah besar gambar, dan berharap pengguna boleh menyemak imbas dan pratonton gambar ini dengan mudah. Artikel ini akan memperkenalkan cara menggunakan komponen Vue untuk melaksanakan fungsi tatal imej dan pratonton lakaran kenit. Pertama, kita perlu memasang dan memperkenalkan perpustakaan Vue yang sesuai untuk memudahkan penatalan imej dan pratonton lakaran kenit. Dalam contoh ini, kami akan menggunakan vue-awesome-swiper dan vue-image-preview dua perpustakaan untuk melaksanakan

See all articles