在PHP中, imagewbmp()函數用於輸出或保存一張WBMP格式的圖像。 WBMP(Wireless Bitmap)是一種黑白位圖格式,常用於移動設備的圖像顯示。了解imagewbmp()函數的參數及其正確用法,對於圖像處理和生成相關項目非常重要。
imagewbmp()函數的基本語法如下:
bool imagewbmp ( resource $image [, string $filename = NULL [, int $threshold = 128 ]] )
$image
必需參數。資源類型,表示一個圖像資源,通常是由imagecreate()或其他圖像創建函數生成的圖像資源。
$filename
可選參數。指定保存的文件名。如果省略或設置為NULL ,函數將直接將圖像輸出到瀏覽器。注意:輸出到瀏覽器時,需要在輸出前設置正確的Content-Type頭。
$threshold
可選參數。指定顏色閾值,用於將彩色圖像轉換為黑白。默認值是128,表示大於等於128的顏色被轉換為白色,小於128的被轉換為黑色。
傳入合法的圖像資源,否則函數會報錯。
如果需要保存文件,傳入合法且有寫權限的文件路徑作為$filename 。
若直接輸出給瀏覽器,需在調用前設置頭信息: header('Content-Type: image/vnd.wap.wbmp');
調整閾值以獲得更合適的黑白效果,尤其是彩色圖像轉換為WBMP時。
<?php
// 創建一個150x50的黑白圖像
$image = imagecreate(150, 50);
// 設置背景為白色
$white = imagecolorallocate($image, 255, 255, 255);
// 設置文字顏色為黑色
$black = imagecolorallocate($image, 0, 0, 0);
// 在圖像上寫入文字
imagestring($image, 5, 10, 15, 'Hello WBMP!', $black);
// 設定HTTP頭,告知瀏覽器輸出的是WBMP圖像
header('Content-Type: image/vnd.wap.wbmp');
// 直接输出圖像
imagewbmp($image);
// 销毁圖像资源,釋放內存
imagedestroy($image);
?>
<?php
// 創建一個100x100的圖像
$image = imagecreate(100, 100);
// 分配顏色
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
// 畫一個黑色矩形
imagerectangle($image, 10, 10, 90, 90, $black);
// 保存圖像到文件
imagewbmp($image, '/var/www/html/images/sample.wbmp', 100);
// 釋放資源
imagedestroy($image);
?>
更多關於imagewbmp()函數的官方文檔可以參考:
<code> https://gitbox.net/manual/en/function.imagewbmp.php </code>