現在の位置: ホーム> 最新記事一覧> ImageGetClip関数のクリッピングエリアパラメーターを正確に設定して、正確な傍受を確実にする方法は?

ImageGetClip関数のクリッピングエリアパラメーターを正確に設定して、正確な傍受を確実にする方法は?

M66 2025-07-24

<span><span><span class="hljs-meta"><?php</span></span><span> </span><span><span class="hljs-comment">// 本文介绍如何正确设置 PHP 中 imagegetclip 函数的裁剪区域参数,确保截取图片时精准无误。</span></span><span> </span><span><span class="hljs-comment">// 在使用该函数时,合理配置裁剪区域是关键,本文将详细讲解参数的含义及设置方法。</span></span><span> </span><span><span class="hljs-meta">?></span></span><span> <hr> <h2>如何正确设置 imagegetclip 函数的裁剪区域参数,确保截取准确?</h2> <p>在图像处理领域,PHP 提供了丰富的函数用于图片裁剪和操作,其中 <code>imagegetclip

2。要件に応じて合理的な出発点と寸法を計算します。たとえば、作物センターエリア:

 <span><span><span class="hljs-variable">$clipWidth</span></span><span> = </span><span><span class="hljs-number">100</span></span><span>;
</span><span><span class="hljs-variable">$clipHeight</span></span><span> = </span><span><span class="hljs-number">100</span></span><span>;
</span><span><span class="hljs-variable">$x</span></span><span> = (</span><span><span class="hljs-variable">$imgWidth</span></span><span> - </span><span><span class="hljs-variable">$clipWidth</span></span><span>) / </span><span><span class="hljs-number">2</span></span><span>;
</span><span><span class="hljs-variable">$y</span></span><span> = (</span><span><span class="hljs-variable">$imgHeight</span></span><span> - </span><span><span class="hljs-variable">$clipHeight</span></span><span>) / </span><span><span class="hljs-number">2</span></span><span>;
</span></span>

3.パラメーターの有効性を確認します: $ x> = 0$ y> = 0 、および$ x + $ clipwidth <= $ imgwidth$ y + $ clipheight <= $ imgheightを確認してください。

4.サンプルコード

<span><span><span class="hljs-comment">// 仮定 imagegetclip 関数定義は次のとおりです(例)</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">imagegetclip</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$image</span></span></span><span>, </span><span><span class="hljs-variable">$x</span></span><span>, </span><span><span class="hljs-variable">$y</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>) {
    </span><span><span class="hljs-variable">$clip</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>);
    </span><span><span class="hljs-title function_ invoke__">imagecopy</span></span><span>(</span><span><span class="hljs-variable">$clip</span></span><span>, </span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$x</span></span><span>, </span><span><span class="hljs-variable">$y</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>);
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$clip</span></span><span>;
}

</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'example.jpg'</span></span><span>);
</span><span><span class="hljs-variable">$imgWidth</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagesx</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-variable">$imgHeight</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagesy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);

</span><span><span class="hljs-comment">// 作物面積パラメーターを設定します,ラインを越えないようにしてください</span></span><span>
</span><span><span class="hljs-variable">$clipWidth</span></span><span> = </span><span><span class="hljs-number">150</span></span><span>;
</span><span><span class="hljs-variable">$clipHeight</span></span><span> = </span><span><span class="hljs-number">150</span></span><span>;
</span><span><span class="hljs-variable">$x</span></span><span> = </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-title function_ invoke__">min</span></span><span>(</span><span><span class="hljs-variable">$imgWidth</span></span><span> - </span><span><span class="hljs-variable">$clipWidth</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>));
</span><span><span class="hljs-variable">$y</span></span><span> = </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-title function_ invoke__">min</span></span><span>(</span><span><span class="hljs-variable">$imgHeight</span></span><span> - </span><span><span class="hljs-variable">$clipHeight</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>));

</span><span><span class="hljs-variable">$croppedImage</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagegetclip</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$x</span></span><span>, </span><span><span class="hljs-variable">$y</span></span><span>, </span><span><span class="hljs-variable">$clipWidth</span></span><span>, </span><span><span class="hljs-variable">$clipHeight</span></span><span>);

</span><span><span class="hljs-comment">// トリミングされた写真を保存します</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$croppedImage</span></span><span>, </span><span><span class="hljs-string">'cropped_example.jpg'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$croppedImage</span></span><span>);
</span></span>

5。概要

ImageGetClipのクリッピング領域パラメーターを設定するときは、座標参照、パラメータータイプ、およびトリミング範囲が境界が崩れているかどうかに注意し、インターセプト領域が正確であることを確認するために画像サイズに基づいてパラメーターを動的に計算する必要があります。これは、画像のトリミング結果が期待を満たすことを保証する唯一の方法です。

`` `