應該要清楚說明,此函式的設定版本並不會改變影像本身,只會改變記憶體中的資源,如果您尚未儲存影像,這可能沒問題。如果您的使用案例是針對已儲存在磁碟上的影像,您應該始終執行以下操作:
imageresolution($img, 300, 300);
imagepng($img, $filname, $quality);
(PHP 7 >= 7.2.0, PHP 8)
imageresolution — 取得或設定影像的解析度
imageresolution() 可用於設定及取得影像的解析度,單位為 DPI(每英吋點數)。如果選用參數為 null
,則會以索引陣列的形式返回目前的解析度。如果只有 resolution_x
不是 null
,則水平和垂直解析度都會設定為此值。如果所有選用參數都不是 null
,則水平和垂直解析度會分別設定為這些值。
解析度僅在影像從支援此類資訊的格式(目前為 PNG 和 JPEG)讀取和寫入時用作詮釋資料。它不影響任何繪圖操作。新影像的預設解析度為 96 DPI。
image
一個 GdImage 物件,由其中一個影像建立函式返回,例如 imagecreatetruecolor()。
resolution_x
水平解析度,單位為 DPI。
resolution_y
垂直解析度,單位為 DPI。
版本 | 說明 |
---|---|
8.0.0 |
resolution_x 和 resolution_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 )
應該要清楚說明,此函式的設定版本並不會改變影像本身,只會改變記憶體中的資源,如果您尚未儲存影像,這可能沒問題。如果您的使用案例是針對已儲存在磁碟上的影像,您應該始終執行以下操作:
imageresolution($img, 300, 300);
imagepng($img, $filname, $quality);