PHP入門教程之圖像處理技巧分析
本文實(shí)例講述了PHP圖像處理。分享給大家供大家參考,具體如下:
Demo1.php
<?php //一般生成的圖像可以是 png,jpg,gif,bmp //jpeg,wbmp //第一步,設(shè)置文件MIME類型,輸出類型 text/html 類型是網(wǎng)頁類型,默認(rèn)可以不寫 //將輸出類型改成圖像流 header('Content-Type:image/png;'); //第二步,創(chuàng)建一個(gè)圖形區(qū)域,圖像背景 //有兩種創(chuàng)建方式,資源類型,一般要加上 @ 符號,防止出錯(cuò) //imagecreatetruecolor 返回的是一個(gè)資源句柄 //這個(gè)函數(shù)創(chuàng)建了一個(gè)圖像的區(qū)域,沒有進(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 -- 畫一條線段 imageline($im,0,0,200,200,$white); imageline($im,200,0,0,200,$white); //imagestring -- 水平地畫一行字符串 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 //簡單的驗(yàn)證碼 //隨機(jī)數(shù) //為什么要循環(huán) 0-15 之間的數(shù)呢? //因?yàn)橐獙?shí)現(xià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','閱誰問君誦'); //采用系統(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 -- 取得圖像大小 //獲取到了原圖的長度和高度 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 過度 //第三個(gè)參數(shù),是 0-100 來調(diào)節(jié) JPG 的清晰度 //如果是 imagepng,那么全部都是高清 //imagejpeg($im,null,50); //銷毀 imagedestroy($im); imagedestroy($_im); ?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
- 使用PHP生成二維碼的兩種方法(帶logo圖像)
- php圖像處理函數(shù)大全(推薦收藏)
- 基于OpenCV的PHP圖像人臉識別技術(shù)
- PHP圖片裁剪函數(shù)(保持圖像不變形)
- PHP GD庫生成圖像的幾個(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 向右側(cè)拉菜單實(shí)現(xiàn)代碼,測試使用中
PHP 向右側(cè)拉菜單實(shí)現(xiàn)代碼,測試使用中,需要的朋友可以測試下。2009-11-11PHP7生產(chǎn)環(huán)境隊(duì)列Beanstalkd用法詳解
在本篇文章里小編給大家分享的是關(guān)于PHP7生產(chǎn)環(huán)境隊(duì)列Beanstalkd用法內(nèi)容,需要的朋友們可以參考下。2020-05-05PHP生成隨機(jī)用戶名和密碼的實(shí)現(xiàn)代碼
使用PHP生成隨機(jī)數(shù)可以應(yīng)用在許多地方,比如可以設(shè)計(jì)程序的隨機(jī)密碼、模擬擲骰子游戲的應(yīng)用程序、石頭剪子布游戲應(yīng)用程序等等2013-02-02php保存二進(jìn)制原始數(shù)據(jù)為圖片的程序代碼
得到post過來的二進(jìn)制原始數(shù)據(jù),選擇一個(gè)生成路徑及圖片的名字,之后寫入,思路很顯而易見,需要的朋友可以收藏下2014-10-10PHP 用數(shù)組降低程序的時(shí)間復(fù)雜度
時(shí)間復(fù)雜度是開發(fā)人員用來衡量應(yīng)用程序算法優(yōu)劣的主要因素。客觀地說,算法的優(yōu)劣除了和時(shí)間復(fù)雜度有關(guān),還與空間復(fù)雜度密切相關(guān)。2009-12-12