php之imagecopyresampled ()详细用法和示例(英文)

[php] 2024-04-18 圈点232

摘要:php之imagecopyresampled ()详细用法和示例(英文)

imagecopyresampled 

bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

imagecopyresampled() copies a rectangular portion of one image to another image, smoothly interpolating pixel values so that, in particular, reducing the size of an image still retains a great deal of clarity.


In other words, imagecopyresampled() will take a rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).


If the source and destination coordinates and width and heights differ, appropriate stretching or shrinking of the image fragment will be performed. The coordinates refer to the upper left corner. This function can be used to copy regions within the same image (if dst_image is the same as src_image) but if the regions overlap the results will be unpredictable.


dst_image

Destination image link resource.


src_image

Source image link resource.


dst_x

x-coordinate of destination point.


dst_y

y-coordinate of destination point.


src_x

x-coordinate of source point.


src_y

y-coordinate of source point.


dst_w

Destination width.


dst_h

Destination height.


src_w

Source width.


src_h

Source height.



// The file

$filename = 'test.jpg';

$percent = 0.5;

// Content type

header('Content-Type: image/jpeg');

// Get new dimensions

list($width, $height) = getimagesize($filename);

$new_width = $width * $percent;

$new_height = $height * $percent;

// Resample

$image_p = imagecreatetruecolor($new_width, $new_height);

$image = imagecreatefromjpeg($filename);

imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output

imagejpeg($image_p, null, 100);

imagecopyresampled  

感谢反馈,已提交成功,审核后即会显示