imagecopyresampled() - gd函数(图像处理)
imagecopyresampled()
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
重采样拷贝部分图像并调整大小
说明
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): boolimagecopyresampled()将一幅图像中的一块正方形区域拷贝到另一个图像中,平滑地插入像素值,因此,尤其是,减小了图像的大小而仍然保持了极大的清晰度。
In other words,imagecopyresampled() will take a rectangular area from$src_imageof width$src_wand height$src_hat position($src_x,$src_y)and place it in a rectangular area of$dst_imageof width$dst_wand height$dst_hat position($dst_x,$dst_y).
如果源和目标的宽度和高度不同,则会进行相应的图像收缩和拉伸。坐标指的是左上角。本函数可用来在同一幅图内部拷贝(如果$dst_image和$src_image相同的话)区域,但如果区域交迭的话则结果不可预知。
参数
$dst_image目标图象连接资源。
$src_image源图象连接资源。
$dst_x目标 X 坐标点。
$dst_y目标 Y 坐标点。
$src_x源的 X 坐标点。
$src_y源的 Y 坐标点。
$dst_w目标宽度。
$dst_h目标高度。
$src_w源图象的宽度。
$src_h源图象的高度。
返回值
成功时返回TRUE
,或者在失败时返回FALSE
。
范例
简单的例子
这个例子会将图像调整为原有尺寸的一半。
以上例程的输出类似于:
按比例对图像重新采样
这个例子会以最大宽度高度为 200 像素显示一个图像。
以上例程的输出类似于:
注释
Note:因为调色板图像限制(255+1 种颜色)有个问题。重采样或过滤图像通常需要多于 255 种颜色,计算新的被重采样的像素及其颜色时采用了一种近似值。对调色板图像尝试分配一个新颜色时,如果失败我们选择了计算结果最接近(理论上)的颜色。这并不总是视觉上最接近的颜色。这可能会产生怪异的结果,例如空白(或者视觉上是空白)的图像。要跳过这个问题,请使用真彩色图像作为目标图像,例如用imagecreatetruecolor()创建的。
参见
imagecopyresized() 拷贝部分图像并调整大小
FOUR RECTANGLES $src_image $dst_image +------------+---------------------------------+ +------------+--------------------+ | | | | | | | | | | $dst_y | | | | | | | | $src_y | +-- $dst_x --+----$dst_width----+ | | | | | | | | | | | | | Resampled | | | | | | | | | +-- $src_x --+------ $src_width ------+ | | $dst_height | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +------------------+ | | | Sample | | | | | | | | | | | | | | | | | $src_height | | | | | | | | +---------------------------------+ | | | | | | | | | +------------------------+ | | | | | +----------------------------------------------+
Here is my ultimate image resizer that preserves transparency for gif's and png's and has an option to crop images to fixed dimensions (preserves image proportions by default) Example that I use when uploading new images to the server. This saves the original picture in the form: original.type and creates a new thumbnail: 100x100.type Cheers!
I've created a PHP5 image resize class, using ImageCopyResampled, that someone might find useful, with support for JPEG, PNG, and GIF formats. It retains the original image's aspect ratio when resizing, and doesn't resize or resample if the original width and height is smaller then the desired resize.
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!