PHP图像从顶部,底部,左侧和右侧裁剪
Posted
技术标签:
【中文标题】PHP图像从顶部,底部,左侧和右侧裁剪【英文标题】:PHP Image Crop from the top, bottom, left & right 【发布时间】:2016-11-25 23:48:59 【问题描述】:伙计们,
我正在 ui=sing 此代码上传和裁剪图像。当我把它放在一起时,裁剪的中心就在图像的中间,效果很好!
我想通过添加裁剪选项来增加功能,而不是从顶部、左侧或底部裁剪居中的图像。这将从上一页的单选框中选择。
我看到了一些相当复杂的方法,但想知道是否有一种简单的方法可以实现它,有什么想法吗?谢谢。
$handle->image_resize = true;
$handle->image_ratio_crop = true;
$handle->image_convert = 'jpg';
$handle->image_x = $x;
$handle->image_y = $y;
$handle->jpeg_quality = 75;
$handle->Process( $dir_dest );
来自上一页的表格:
<label for="artwork">Banner Artwork</label>
<div class="input-group upload-crop">
<input class="upload-button" accept="image/jpg,image/png,image/jpeg,image/gif" name="<?=$strNameInput?>" id="<?=$strNameInput?>" type="file" />
<label><strong>Crop from:</strong></label>
<label for="centre">Centre</label><input checked type="radio" id="centre" name="crop" value="centre" />
<label for="right">Right</label><input type="radio" id="right" name="crop" value="right" />
<label for="left">Left</label><input type="radio" id="left" name="crop" value="left" />
<label for="top">Top</label><input type="radio" id="top" name="crop" value="top" />
<label for="bottom">Bottom</label><input type="radio" id="bottom" name="crop" value="bottom" />
</div>
【问题讨论】:
【参考方案1】:找到了!我使用了一个名为 crop 的 POST 变量(来自单选按钮),如果没有选择单选按钮,它会居中裁剪,如果没有,它使用 T、B、L 或 R
$strCrop = $_POST['crop'];
$handle->image_resize = true;
if ( $strCrop == '' )
$handle->image_ratio_crop = true;
else
$handle->image_ratio_crop = $strCrop;
$handle->image_convert = 'jpg';
$handle->image_x = $x;
$handle->image_y = $y;
$handle->jpeg_quality = 75;
$handle->Process( $dir_dest );
它现在使用了一个精美的引导浏览按钮:
<div class="btn btn-default btn-file pull-left">
Browse<input class="upload-button" style="display:none" accept="image/jpg,image/png,image/jpeg,image/gif" name="<?=$strNameInput?>" id="<?=$strNameInput?>" type="file" />
</div>
<label><strong>Image crop:</strong></label>
<input checked type="radio" id="centre" name="crop" value="" />
<label for="centre">Centre</label>
<input type="radio" id="right" name="crop" value="R" />
<label for="right">Right</label>
<input type="radio" id="left" name="crop" value="L" />
<label for="left">Left</label>
<input type="radio" id="top" name="crop" value="T" />
<label for="top">Top</label>
<input type="radio" id="bottom" name="crop" value="B" />
<label for="bottom">Bottom</label>
【讨论】:
以上是关于PHP图像从顶部,底部,左侧和右侧裁剪的主要内容,如果未能解决你的问题,请参考以下文章
php 在全局设置(Builder UI)中添加所有方向,即顶部,右侧,底部和左侧的边距