imageresolution

(PHP 7 >= 7.2.0, PHP 8)

imageresolution获取或设置图像的分辨率

描述

imageresolution(GdImage $image, ?int $resolution_x = null, ?int $resolution_y = null): array|bool

imageresolution() 允许设置和获取图像的 DPI(每英寸点数)分辨率。如果可选参数为 null,则当前分辨率将作为索引数组返回。如果只有 resolution_x 不为 null,则水平和垂直分辨率将设置为该值。如果所有可选参数都不为 null,则水平和垂直分辨率将分别设置为这些值。

分辨率仅在从支持此类信息的格式(目前为 PNG 和 JPEG)读取和写入图像时用作元信息。它不会影响任何绘图操作。新图像的默认分辨率为 96 DPI。

参数

image

一个 GdImage 对象,由其中一个图像创建函数返回,例如 imagecreatetruecolor().

resolution_x

水平分辨率,以 DPI 为单位。

resolution_y

垂直分辨率,以 DPI 为单位。

返回值

用作获取器时,它在成功时返回水平和垂直分辨率的索引数组,或在失败时返回 false。用作设置器时,它在成功时返回 true,或在失败时返回 false

变更日志

版本 描述
8.0.0 resolution_xresolution_y 现在可以为空。

示例

示例 #1 设置和获取图像的分辨率

<?php
$im
= imagecreatetruecolor(100, 100);
imageresolution($im, 200);
print_r(imageresolution($im));
imageresolution($im, 300, 72);
print_r(imageresolution($im));
?>

上面的示例将输出

Array
(
    [0] => 200
    [1] => 200
)
Array
(
    [0] => 300
    [1] => 72
)
添加笔记

用户贡献的笔记 1 个笔记

1
fernando dot fonseca at afteryou dot pt
3 年前
应该明确的是,函数的设置版本不会改变图像本身,而只是内存中的资源,如果您还没有保存图像,这可能没问题。如果您的用例是针对已经存在于磁盘上的图像,那么您应该始终执行以下操作:

imageresolution($img, 300, 300);
imagepng($img, $filname, $quality);
To Top