在Web開發中,圖片的顯示是一個常見的需求。而在PHP中,我們可以使用output img的方法來輸出圖片,實現動態生成圖片等效果。
output img的基本用法如下:
上面的代碼中,我們通過header()設置Content-Type為image/png,然后通過imagecreatetruecolor()函數創建了一個100*100的圖像,最后使用imagepng()函數輸出圖像數據。這樣我們就可以在HTML頁面中使用來顯示這張圖片了。
除了使用imagepng()函數輸出圖片外,我們還可以使用imagejpeg()和imagegif()函數分別輸出jpg和gif格式的圖片,用法類似。
除了靜態輸出圖片外,output img還可以用于動態生成圖片。比如說,我們可以根據用戶上傳的圖像,添加水印,并輸出縮略圖。代碼如下:
上面的代碼中,我們首先使用imagecreatefrompng()函數讀取用戶上傳的原始圖像,然后根據需求創建了大小為100*100的空白圖像。接著使用imagecopyresampled()函數將原始圖像縮放并拷貝至空白圖像中,然后添加了一個水印(本例中水印是一個文本字符串)。最后通過header()設置Content-Type為image/png,使用imagepng()函數輸出縮略圖數據。
總之,output img是PHP中常用的圖片輸出方法之一,可以用于靜態輸出圖片,也可以用于動態生成圖片。需要注意的是,為了避免輸出內容與header()函數之外的其他內容產生沖突,最好在腳本文件前面設置header()函數,確保腳本中只輸出圖像數據。
output img的基本用法如下:
header('Content-Type:image/png'); $img=imagecreatetruecolor(100,100); imagepng($img);
上面的代碼中,我們通過header()設置Content-Type為image/png,然后通過imagecreatetruecolor()函數創建了一個100*100的圖像,最后使用imagepng()函數輸出圖像數據。這樣我們就可以在HTML頁面中使用來顯示這張圖片了。
除了使用imagepng()函數輸出圖片外,我們還可以使用imagejpeg()和imagegif()函數分別輸出jpg和gif格式的圖片,用法類似。
除了靜態輸出圖片外,output img還可以用于動態生成圖片。比如說,我們可以根據用戶上傳的圖像,添加水印,并輸出縮略圖。代碼如下:
//用戶上傳的原始圖像 $src='upload/abc.png'; //讀取原始圖像 $im=imagecreatefrompng($src); //獲取原始圖像尺寸 $src_w=imagesx($im); $src_h=imagesy($im); //創建一個空白圖像,大小可以根據需求自己設定 $thumb_w=100; $thumb_h=ceil($src_h/$src_w*$thumb_w); $thumb=imagecreatetruecolor($thumb_w,$thumb_h); //將原始圖像縮放并拷貝至空白圖像中 imagecopyresampled($thumb,$im,0,0,0,0,$thumb_w,$thumb_h,$src_w,$src_h); //添加水印 $fontfile='font/simkai.ttf'; $text='www.example.com'; $color=imagecolorallocate($thumb,255,255,255); imagettftext($thumb,20,45,$thumb_w/2,$thumb_h/2,$color,$fontfile,$text); //輸出縮略圖 header('Content-Type:image/png'); imagepng($thumb);
上面的代碼中,我們首先使用imagecreatefrompng()函數讀取用戶上傳的原始圖像,然后根據需求創建了大小為100*100的空白圖像。接著使用imagecopyresampled()函數將原始圖像縮放并拷貝至空白圖像中,然后添加了一個水印(本例中水印是一個文本字符串)。最后通過header()設置Content-Type為image/png,使用imagepng()函數輸出縮略圖數據。
總之,output img是PHP中常用的圖片輸出方法之一,可以用于靜態輸出圖片,也可以用于動態生成圖片。需要注意的是,為了避免輸出內容與header()函數之外的其他內容產生沖突,最好在腳本文件前面設置header()函數,確保腳本中只輸出圖像數據。
上一篇php off