GC_Image_Editor_GD::flip()

最后更新于:2021-11-27 23:38:17

GC_Image_Editor_GD::flip( bool$horz, bool$vert)

Flips current image.

参数

$horz

(bool) (Required) Flip along Horizontal Axis.

$vert

(bool) (Required) Flip along Vertical Axis.

响应

(true|GC_Error)

源文件

文件: gc-includes/class-gc-image-editor-gd.php

	public function flip( $horz, $vert ) {
		$w   = $this->size['width'];
		$h   = $this->size['height'];
		$dst = gc_imagecreatetruecolor( $w, $h );

		if ( is_gd_image( $dst ) ) {
			$sx = $vert ? ( $w - 1 ) : 0;
			$sy = $horz ? ( $h - 1 ) : 0;
			$sw = $vert ? -$w : $w;
			$sh = $horz ? -$h : $h;

			if ( imagecopyresampled( $dst, $this->image, 0, 0, $sx, $sy, $w, $h, $sw, $sh ) ) {
				imagedestroy( $this->image );
				$this->image = $dst;
				return true;
			}
		}

		return new GC_Error( 'image_flip_error', __( 'Image flip failed.' ), $this->file );
	}