2024 年 PHP Conference Japan

imageresolution

(PHP 7 >= 7.2.0, PHP 8)

imageresolution取得或設定影像的解析度

說明

imageresolution(GdImage $image, ?int $resolution_x = null, ?int $resolution_y = null): 陣列|布林值

imageresolution() 可用於設定及取得影像的解析度,單位為 DPI(每英吋點數)。如果選用參數為 null,則會以索引陣列的形式返回目前的解析度。如果只有 resolution_x 不是 null,則水平和垂直解析度都會設定為此值。如果所有選用參數都不是 null,則水平和垂直解析度會分別設定為這些值。

解析度僅在影像從支援此類資訊的格式(目前為 PNG 和 JPEG)讀取和寫入時用作詮釋資料。它不影響任何繪圖操作。新影像的預設解析度為 96 DPI。

參數

image

一個 GdImage 物件,由其中一個影像建立函式返回,例如 imagecreatetruecolor()

resolution_x

水平解析度,單位為 DPI。

resolution_y

垂直解析度,單位為 DPI。

回傳值

當用作 getter 時,成功時會返回一個包含水平和垂直解析度的索引陣列,失敗時則返回 false。當用作 setter 時,成功時會返回 true,失敗時則返回 false

更新日誌

版本 說明
8.0.0 resolution_xresolution_y 現在可以為 null。

範例

範例 #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