欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP入門教程之圖像處理技巧分析

 更新時(shí)間:2016年09月11日 15:35:45   作者:onestopweb  
這篇文章主要介紹了PHP入門教程之圖像處理技巧,結(jié)合實(shí)例形式分析了圖形圖像的創(chuàng)建與顯示方法,并附帶了創(chuàng)建圖形驗(yàn)證碼及縮略圖等應(yīng)用的具體示例,需要的朋友可以參考下

本文實(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ì)有所幫助。

相關(guān)文章

最新評論