imagecopyresized 拷贝部分图像并调整大小

发表日期:2021-07-01 08:55:58 | 来源: | | 浏览(839) 分类:GD 和图像处理 函数

imagecopyresized

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecopyresized拷贝部分图像并调整大小

说明

imagecopyresized(
    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
): bool

imagecopyresized()   将一幅图像中的一块矩形区域拷贝到另一个图像中。dst_image   和 src_image   分别是目标图像和源图像的标识符。

In other words, imagecopyresized() will take an   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).

如果源和目标的宽度和高度不同,则会进行相应的图像收缩和拉伸。坐标指的是左上角。本函数可用来在同一幅图内部拷贝(如果   dst_imagesrc_image   相同的话)区域,但如果区域交迭的话则结果不可预知。

参数


  • dst_image

  • 目标图象资源。

  • src_image

  • 源图象资源。

  • 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

  • 源图象的宽度。

  • src_h

  • 源图象的高度。


返回值

成功时返回 true, 或者在失败时返回 false

范例


示例 #1 Resizing an image

这个例子会以一半的尺寸显示图片

<?php 
// File and new size$filename = 'test.jpg';
$percent = 0.5;
// Content typeheader('Content-Type: image/jpeg');
// Get new sizeslist($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
// Load$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
// Resizeimagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// Outputimagejpeg($thumb);
?>

以上例程的输出类似于:

21009b70229598c6a80eef8b45bf282b-imagecopyresized.jpg

The image will be output at half size, though better     quality could be obtained using imagecopyresampled().


注释

注意:

因为调色板图像限制(255+1 种颜色)有个问题。重采样或过滤图像通常需要多于 255    种颜色,计算新的被重采样的像素及其颜色时采用了一种近似值。对调色板图像尝试分配一个新颜色时,如果失败我们选择了计算结果最接近(理论上)的颜色。这并不总是视觉上最接近的颜色。这可能会产生怪异的结果,例如空白(或者视觉上是空白)的图像。要跳过这个问题,请使用真彩色图像作为目标图像,例如用imagecreatetruecolor() 创建的。


参见

imagecopyresampled() - 重采样拷贝部分图像并调整大小  

集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。