PHP入門(mén)教程之圖像處理技巧分析
本文實(shí)例講述了PHP圖像處理。分享給大家供大家參考,具體如下:
Demo1.php
<?php
//一般生成的圖像可以是 png,jpg,gif,bmp
//jpeg,wbmp
//第一步,設(shè)置文件MIME類型,輸出類型 text/html 類型是網(wǎng)頁(yè)類型,默認(rèn)可以不寫(xiě)
//將輸出類型改成圖像流
header('Content-Type:image/png;');
//第二步,創(chuàng)建一個(gè)圖形區(qū)域,圖像背景
//有兩種創(chuàng)建方式,資源類型,一般要加上 @ 符號(hào),防止出錯(cuò)
//imagecreatetruecolor 返回的是一個(gè)資源句柄
//這個(gè)函數(shù)創(chuàng)建了一個(gè)圖像的區(qū)域,沒(méi)有進(jìn)行填充的時(shí)候,背景默認(rèn)是黑色的
$im = imagecreatetruecolor(200,200);
//第三步,有空白圖像區(qū)域,繪制顏色,文字叫,線條啊。。。
//填充色換掉,首先要有個(gè)顏色填充器
//imagecolorallocate -- 為一幅圖像分配顏色
$blue = imagecolorallocate($im,0,102,255);
//將這個(gè) blue 顏色填充到背景上去
//imagefill -- 區(qū)域填充
imagefill($im,0,0,$blue);
//第四部,在藍(lán)色的背景上輸入一些線條,文字等
$white = imagecolorallocate($im,255,255,255);
//imageline -- 畫(huà)一條線段
imageline($im,0,0,200,200,$white);
imageline($im,200,0,0,200,$white);
//imagestring -- 水平地畫(huà)一行字符串
imagestring($im,5,80,20,'Mr.One',$white);
//第五步,輸出最終圖形
//以 PNG 格式將圖像輸出到瀏覽器或文件
imagepng($im);
//第六步,我要將所有的資源全部清空
imagedestroy($im);
?>
Demo2.php
<?php
//src 可以插入各樣類型的圖片
//Demo1.php 其實(shí)就是一張 png 圖片
header('Content-Type:text/html; charset=gbk');
echo '<img src="Demo1.php" alt="圖形"/>';
?>
Demo3.php
<?php
//簡(jiǎn)單的驗(yàn)證碼
//隨機(jī)數(shù)
//為什么要循環(huán) 0-15 之間的數(shù)呢?
//因?yàn)橐獙?shí)現(xiàn)最簡(jiǎn)單的字母和數(shù)字混搭
//十六進(jìn)制 0-9 a-f
//dechex -- 十進(jìn)制轉(zhuǎn)換為十六進(jìn)制
//創(chuàng)建一個(gè)四位的驗(yàn)證碼
for($i=0;$i<4;$i++){
$nmsg .= dechex(mt_rand(0,15));
}
//echo $nmsg;
header('Content-Type:image/png;');
$im = imagecreatetruecolor(75,25);
$blue = imagecolorallocate($im,0,102,255);
$white = imagecolorallocate($im,255,255,255);
imagefill($im,0,0,$blue);
imagestring($im,5,20,5,$nmsg,$white);
imagepng($im);
imagedestroy($im);
?>
Demo4.php
<?php
define('__DIR__',dirname(__FILE__).'\\');
//加載已有的圖像
header('Content-Type:image/png;');
//header('Content-Type:image/jpeg;');
//imagecreatefrompng -- 從 PNG 文件或 URL 新建一圖像
//用 image 載入圖像,是可以編輯圖像
//在載入的圖像中,加入一個(gè)小水印
$im = imagecreatefrompng(__DIR__.'ss.png');
//$im = imagecreatefromjpeg('xx.jpg');
$white = imagecolorallocate($im,255,255,255);
imagestring($im,5,10,10,'http://www.oneStopWeb.cn',$white);
imagepng($im);
//imagejpeg($im);
imagedestroy($im);
?>
Demo5.php
<?php
define('__DIR__',dirname(__FILE__).'\\');
//加載已有的圖像
header('Content-Type:image/png;');
//header('Content-Type:image/jpeg;');
//imagecreatefrompng -- 從 PNG 文件或 URL 新建一圖像
//用 image 載入圖像,是可以編輯圖像
//在載入的圖像中,加入一個(gè)小水印
$im = imagecreatefrompng(__DIR__.'ss.png');
//$im = imagecreatefromjpeg('xx.jpg');
$white = imagecolorallocate($im,255,255,255);
imagestring($im,5,10,10,'http://www.oneStopWeb.cn',$white);
//font 字體還必須支持中文
$font = 'C:\WINDOWS\Fonts\SIMHEI.TTF';
//字體文件
$text = iconv('gbk','utf-8','閱誰(shuí)問(wèn)君誦');
//采用系統(tǒng)提供的字體
//第二參數(shù),是字體的大小,第三個(gè)參數(shù)是旋轉(zhuǎn)角度,4,5參數(shù)是坐標(biāo)
imagettftext($im,20,10,50,100,$white,$font,$text);
imagepng($im);
//imagejpeg($im);
imagedestroy($im);
?>
Demo6.php
<?php
//微縮圖,不但表面的大小改變了,容量也改變了
//是真的改變了,不是表面的縮小
define('__DIR__',dirname(__FILE__).'\\');
header('Content-Type:image/png;');
//getimagesize -- 取得圖像大小
//獲取到了原圖的長(zhǎng)度和高度
list($width,$height) = getimagesize(__DIR__.'ss.png');
//將原圖縮放成 40%
$_width = $width * 0.4;
$_height = $height * 0.4;
//創(chuàng)建一個(gè)新圖
$im = imagecreatetruecolor($_width,$_height);
//下面的工作是,載入原圖,將原圖復(fù)制到新圖上去
//載入原圖
$_im = imagecreatefrompng(__DIR__.'ss.png');
//將原圖重新采樣,拷貝到新圖上,最后按 0.4 的比例輸出
//imagecopyresampled -- 重采樣拷貝部分圖像并調(diào)整大小
imagecopyresampled($im,$_im,0,0,0,0,$_width,$_height,$width,$height);
//將新圖輸出
imagepng($im);
//第二個(gè)參數(shù)不需要,直接 null 過(guò)度
//第三個(gè)參數(shù),是 0-100 來(lái)調(diào)節(jié) JPG 的清晰度
//如果是 imagepng,那么全部都是高清
//imagejpeg($im,null,50);
//銷(xiāo)毀
imagedestroy($im);
imagedestroy($_im);
?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP基本語(yǔ)法入門(mén)教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- 使用PHP生成二維碼的兩種方法(帶logo圖像)
- php圖像處理函數(shù)大全(推薦收藏)
- 基于OpenCV的PHP圖像人臉識(shí)別技術(shù)
- PHP圖片裁剪函數(shù)(保持圖像不變形)
- PHP GD庫(kù)生成圖像的幾個(gè)函數(shù)總結(jié)
- PHP圖像處理之imagecreate、imagedestroy函數(shù)介紹
- 兩個(gè)強(qiáng)悍的php 圖像處理類1
- PHP中繪制圖像的一些函數(shù)總結(jié)
- PHP GD 圖像處理組件的常用函數(shù)總結(jié)
- PHP圖像處理之使用imagecolorallocate()函數(shù)設(shè)置顏色例子
- php中使用Imagick實(shí)現(xiàn)圖像直方圖的實(shí)現(xiàn)代碼
相關(guān)文章
php將圖片文件轉(zhuǎn)換成二進(jìn)制輸出的方法
這篇文章主要介紹了php將圖片文件轉(zhuǎn)換成二進(jìn)制輸出的方法,涉及php針對(duì)圖片文件的讀取與轉(zhuǎn)換輸出技巧,需要的朋友可以參考下2015-06-06
php格式輸出文件var_export函數(shù)實(shí)例
這篇文章主要介紹了php格式輸出文件var_export函數(shù),以實(shí)例形式講述了格式輸出函數(shù)var_export的特性與具體用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11
php通過(guò)ksort()函數(shù)給關(guān)聯(lián)數(shù)組按照鍵排序的方法
這篇文章主要介紹了php通過(guò)ksort()函數(shù)給關(guān)聯(lián)數(shù)組按照鍵排序的方法,實(shí)例分析了php中ksort()函數(shù)的使用技巧,需要的朋友可以參考下2015-03-03
php實(shí)現(xiàn)的CSS更新類實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)的CSS更新類及其用法實(shí)例,包括了針對(duì)模板文件的檢查、更新與替換模板文件等功能,非常實(shí)用,需要的朋友可以參考下2014-09-09
PHP數(shù)組相加操作及與array_merge的區(qū)別淺析
這篇文章主要給大家介紹了關(guān)于PHP數(shù)組相加操作以及與array_merge的區(qū)別,文中通過(guò)示例介紹的很詳細(xì),感興趣的朋友們可以參考學(xué)習(xí),有需要的下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。2016-11-11
PHP 數(shù)據(jù)結(jié)構(gòu) 算法描述 冒泡排序 bubble sort
多次循環(huán)進(jìn)行比較,每次比較時(shí)將最大數(shù)移動(dòng)到最上面。每次循環(huán)時(shí),找出剩余變量里的最大值,然后減小查詢范圍。這樣經(jīng)過(guò)多次循環(huán)以后,就完成了對(duì)這個(gè)數(shù)組的排序2011-07-07

