本文整理汇总了PHP中Intervention\Image\Image::crop方法的典型用法代码示例。如果您正苦于以下问题:PHP Image::crop方法的具体用法?PHP Image::crop怎么用?PHP Image::crop使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Intervention\Image\Image
的用法示例。
在下文中一共展示了Image::crop方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
public function process()
{
$data = $this->loadData();
if ($data !== true) {
return $this->failure($data);
}
$mobile = (int) $this->getProperty('mobile', 0);
if ($mobile == 1) {
$orientation = $this->img->exif('Orientation');
switch ($orientation) {
case 3:
$this->img->rotate(180);
break;
case 6:
$this->img->rotate(-90);
break;
case 8:
$this->img->rotate(90);
break;
}
}
if (isset($this->data['rotate'])) {
$rotate = $this->data['rotate'] * -1.0;
$this->img->rotate($rotate);
}
$crop = $this->getProperty('crop', 0);
if ($crop == 1 && isset($this->data['width']) && isset($this->data['height'])) {
$width = intval($this->data['width']);
$height = intval($this->data['height']);
if ($height != 0 && $width != 0) {
$this->img->crop($width, $height, intval($this->data['x']), intval($this->data['y']));
}
}
$fileName = $this->generateUniqueFileName();
$width = (int) $this->md->getOption('resizer.width', null, 0);
$width = empty($width) ? null : $width;
$height = (int) $this->md->getOption('resizer.height', null, 0);
$height = empty($height) ? null : $height;
$profileName = $this->getProperty('profile', '');
if (!empty($profileName) && $crop == 1) {
$profiles = $this->modx->fromJSON($this->md->getOption('cropper.profiles', null, '[]'));
foreach ($profiles as $profile) {
if (!isset($profile['name']) || $profile['name'] != $profileName) {
continue;
}
$profileWidth = (int) $profile['width'];
$profileHeight = (int) $profile['height'];
$width = empty($profileWidth) ? $width : $profileWidth;
$height = empty($profileHeight) ? $height : $profileHeight;
break;
}
}
if ($width != null || $height != null) {
$this->img->resize($width, $height, function ($constraint) {
/** @var \Intervention\Image\Constraint $constraint */
$constraint->aspectRatio();
$constraint->upsize();
});
}
$this->img->save($this->uploadPath . $fileName . '.' . $this->extension);
return $this->success('', array('path' => $this->uploadURL . $fileName . '.' . $this->extension, 'name' => $this->originalName));
}
示例2: crop
/**
* Crop an image to the rectangle specified by the given rectangle.
*
* @param int $xoffset
* The top left coordinate, in pixels, of the crop area (x axis value).
* @param int $yoffset
* The top left coordinate, in pixels, of the crop area (y axis value).
* @param int $width
* The target width, in pixels.
* @param int $height
* The target height, in pixels.
*
* @throws \LogicException if the parameters are wrong
*/
public function crop($xoffset, $yoffset, $width, $height)
{
if ($xoffset === null) {
throw new \LogicException('"xoffset" must not be null for "crop"');
}
if ($yoffset === null) {
throw new \LogicException('"yoffset" must not be null for "crop"');
}
if ($width === null) {
throw new \LogicException('"width" must not be null for "crop"');
}
if ($height === null) {
throw new \LogicException('"height" must not be null for "crop"');
}
$this->image->crop($width, $height, $xoffset, $yoffset);
}
示例3: rotation
protected function rotation()
{
// Auto orientate
$this->image->orientate();
if ($this->flip) {
$this->image->flip($this->flip);
}
// Rotate within the existing frame
if ($this->rotation) {
$width = $this->image->getWidth();
$height = $this->image->getHeight();
$this->image->rotate($this->rotation);
$this->image->crop($width, $height);
}
// Rotate entire image
if ($this->orientation) {
$this->image->rotate($this->orientation);
}
}
示例4: applyFilter
/**
* Applies filter to given image
*
* @param Image $image
* @return Image
*/
public function applyFilter(Image $image)
{
return $image->crop((int) $this->with, (int) $this->height, (int) $this->x, (int) $this->y);
}
示例5: applyFilter
public function applyFilter(Image $image)
{
return $image->crop($this->width, $this->height, $this->coordinatesX, $this->coordinatesY);
}
示例6: apply
public function apply(Image $image)
{
$image->crop($this->width, $this->height);
}
示例7: crop
public function crop($width, $height)
{
$this->image->crop($width, $height);
return $this;
}
示例8: crop
/**
* Crop the current image
*
* @param integer $width
* @param integer $height
* @param integer $pos_x
* @param integer $pos_y
* @return \Intervention\Image\Image
* @static
*/
public static function crop($width, $height, $pos_x = null, $pos_y = null)
{
return \Intervention\Image\Image::crop($width, $height, $pos_x, $pos_y);
}
示例9: cropImage
public function cropImage(ImageLayer $source, int $width, int $height, int $startX, int $startY) : ImageLayer
{
$source->crop($width, $height, $startX, $startY);
return $source;
}
示例10: cropImage
/**
* Crop the image.
*
* @param integer $width
* @param integer $height
* @param integer|null $x
* @param integer|null $y
* @return $this
*/
public function cropImage($width, $height, $x = null, $y = null)
{
$this->image->crop($width, $height, $x, $y);
return $this;
}
示例11: handle
/**
* Handle the image manipulation request
* @param \Intervention\Image\Image $image
* @param array $options
* @return mixed
*/
public function handle($image, $options)
{
$options = array_merge($this->defaults, $options);
return $image->crop($options['width'], $options['height'], $options['x'], $options['y']);
}
示例12: applyFilter
/**
* Applies filter effects to the given image
*
* @param Image\Image $image The image to filter.
*
* @return Image\Image The filtered image.
*/
public function applyFilter(Image\Image $image)
{
return $image->crop($this->width, $this->height, $this->x, $this->y);
}
示例13: process
public function process(Image $image)
{
if ($this->request->query->has('crop') && !$this->request->query->has('width') && !$this->request->query->has('height') && 1 === preg_match('#^([0-9]+)[x\\:]([0-9]+)$#', $this->request->query->get('crop'), $crop)) {
$image->crop($crop[1], $crop[2]);
}
}