php下尝试使用GraphicsMagick的缩略图功能_php技巧
常用的图片处理工具有GD,ImageMagick,GraphicsMagick等等。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),以后的各个例子都会用到它:
BTW:列位看官现在可以咽口水了。
缩略图1
gm convert input.jpg -thumbnail '100x100' output_1.jpg
实际生成的图片大小是:100x75,也就是说说按此命令,会保持图片比例不变生成缩略图。这样很不错,但是有一个潜在的问题:我们不能简单明了的知道图片的最终大小,结果是前端显示的时候,无法设置img标签的width和height属性,如果我没记错的话,一般是推荐设定width和height属性的,否则浏览器渲染起来可能会稍稍慢一点。
缩略图2
gm convert input.jpg -thumbnail '100x100!' output_2.jpg
这次实际生成的图片大小按定义来,但图片变形了,有时候这是不能接受的。
缩略图3
gm convert input.jpg -thumbnail '100x100^' \
-gravity center -extent 100x100 output_3.jpg
这次不仅保证了大小,还保证了比例。不过图片经过了裁剪。
缩略图4
gm convert input.jpg -thumbnail '100x100' \
-background gray -gravity center -extent 100x100 output_4.jpg
这次不仅保证了大小,还保证了比例,同时没有对图片进行任何裁剪,多余的部分按指定颜色进行填充。
缩略图5
gm convert input.jpg -thumbnail '10000@' \
-background gray -gravity center -extent 100x100 output_5.jpg
这次保证了大小和比例,其中的10000就是100x100的乘积,同时在填充和裁剪之间做了一个平衡。
明白了以上几个例子,缩略图基本就能通吃了,肯定有一种会适合你的需求。GraphicsMagick的资料非常少,但好消息是GraphicsMagick和ImageMagick的用法基本兼容,所以你可以通过ImageMagick的资料来套用。
补充:如果想让用户手动裁剪头片的话,imgAreaSelect是个好选择。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、Win11システムでタスクバーアイコンをマウスで移動したときに表示されるサムネイル機能をオフにする方法を紹介します。この機能はデフォルトでオンになっており、ユーザーがタスクバー上のアプリケーション アイコンの上にマウス ポインタを置くと、アプリケーションの現在のウィンドウのサムネイルが表示されます。ただし、一部のユーザーは、この機能があまり役に立たない、またはエクスペリエンスに悪影響を与えると感じ、オフにしたい場合があります。タスクバーのサムネイルは楽しい場合もありますが、気が散ったり煩わしい場合もあります。この領域にマウスを移動する頻度を考えると、重要なウィンドウを誤って閉じてしまったことが何度かある可能性があります。もう 1 つの欠点は、より多くのシステム リソースを使用することです。そのため、リソース効率を高める方法を探している場合は、それを無効にする方法を説明します。しかし

Windows 1122H2 は、Windows 11 の最初の機能アップデートであり、大量の新機能と切望されている改善点をもたらします。改善点の 1 つは、フォルダー内のファイルのフォルダー サムネイルをプレビューできる機能です。 Windows 11 のフォルダーのサムネイルの外観が気に入らない場合は、次の方法で変更できます。 Windows 11 のフォルダー サムネイル用のカスタム アイコンのセット (Reddit の LEXX911 提供)。プレビューを拡大したり、フォルダー アイコンのスタイルを変更したりできます。個々のファイルのプレビューを扱う必要はありますが (たとえば、Windows 7 では、フォルダーのサムネイルに複数の画像を同時に表示できます)、プレビューをより大きくしてより便利にすることができます。重要なヒント:

1. まずVisual Studio Codeを入力し、左上の[ファイル]をクリックします。 2. [環境設定]をクリックします。 3. [設定]項目をクリックします。 4. [テキストエディタ-サムネイル]をクリックします。 5. 最後に、サムネイル項目の[サムネイルを表示するかどうか制御]をオンにします。

インターネットの発展に伴い、Web ページに写真は欠かせないものになりました。しかし、画像の数が増えると、画像の読み込み速度が非常に重要な問題になります。この問題を解決するために、多くの Web サイトではサムネイルを使用して画像を表示していますが、サムネイルを生成するには専門的な画像処理ツールを使用する必要があり、専門家以外の人にとっては非常に面倒です。その場合、JavaScript を使用してサムネイルの自動生成を実現するのが良い選択になります。 JavaSの使い方

私は、重要なときにコンピューターのちょっとした問題が非常に困るというお客様によく遭遇します。まとめると以下のようなものがあります。ファイルを USB フラッシュ ドライブにコピーできない理由は、USB フラッシュ ドライブのパーティション形式が NTFS ではなく FAT32 である可能性があります。大きなファイルをコピーできるように、USB フラッシュ ドライブのパーティション形式を NTFS に変更してみてください。次に、画像はサムネイルとして表示されないため、画像を 1 つずつクリックして見つける必要があります。 3 番目のタイプは、ページが突然大きくなったり、小さくなったりすることです。これら 3 つの状況が分からない場合でも、いくつかの簡単な操作で解決できます。 1. U ディスクのパーティションを NTFS に変更します 新しく購入した U ディスクのデフォルトのパーティション形式は通常 FAT32 であり、通常の状況では問題なく使用できます。ただし、4G を超えるファイルをコピーする必要がある場合、コピーできないプロンプトが表示され、使用するのに少し苦労します。のために

PHP でサムネイルを生成する手順の詳細な説明、具体的なコード例が必要です。インターネットが急速に発展している今日の時代では、写真は Web ページに不可欠な部分ですが、高解像度の写真は多くの帯域幅を占有するだけでなく、ユーザーの Web ページの読み込み速度にも影響します。したがって、多くの場合、画像サイズとファイル サイズを削減するために、元の画像からサムネイルを生成する必要があります。人気のあるサーバー側スクリプト言語として、PHP はサムネイルの生成に使用できる豊富な画像処理機能を提供します。 PHPでサムネイルを生成する手順を詳しく紹介します。

PowerPoint プレゼンテーションの表は、プレゼンテーション時にデータを構造化された形式で表示するのに役立ちます。表に示されている数字は、視聴者により良い影響を与えます。 Microsoft Powerpoint には、プレゼンテーションに表を追加するいくつかの方法があります。新しいテーブルを追加するか、Excel や Word などの別のアプリケーションの既存のテーブルからコピーするかを選択できます。方法 1: グリッド上の行と列を選択して表を挿入します。 ステップ 1: PowerPoint のサムネイルで、マスター スライドを右クリックし、[新しいスライド] を選択します。ステップ 2: [挿入] に移動し、[テーブル] をクリックします。ステップ 3: ドロップダウン メニューから、テーブルに必要な行と列の合計数を選択します。知らせ

Vue で画像のスクロールとサムネイル プレビューを実装するにはどうすればよいですか? Vue プロジェクトでは、多くの場合、多数の画像を表示する必要があるため、ユーザーがこれらの画像を簡単に参照してプレビューできることを望んでいます。この記事では、Vue コンポーネントを使用して画像のスクロール機能やサムネイル プレビュー機能を実装する方法を紹介します。まず、画像のスクロールとサムネイル プレビューを容易にするために、適切な Vue ライブラリをインストールして導入する必要があります。この例では、vue-awesome-swiper と vue-image-preview の 2 つのライブラリを使用して実装します。
