`

第14章 处理图像

 
阅读更多

Demo1.php

<?php
	//一般生成的图像可以是 png,jpg,gif,bmp
	//jpeg,wbmp
	//第一步,设置文件MIME类型,输出类型 text/html 类型是网页类型,默认可以不写
	//将输出类型改成图像流
	header('Content-Type:image/png;');
	
	//第二步,创建一个图形区域,图像背景
	//有两种创建方式,资源类型,一般要加上 @ 符号,防止出错
	//imagecreatetruecolor 返回的是一个资源句柄
	//这个函数创建了一个图像的区域,没有进行填充的时候,背景默认是黑色的
	$im = imagecreatetruecolor(200,200);
	
	//第三步,有空白图像区域,绘制颜色,文字叫,线条啊。。。
	//填充色换掉,首先要有个颜色填充器
	//imagecolorallocate -- 为一幅图像分配颜色
	$blue = imagecolorallocate($im,0,102,255);
	//将这个 blue 颜色填充到背景上去
	//imagefill -- 区域填充
	imagefill($im,0,0,$blue);
	
	//第四部,在蓝色的背景上输入一些线条,文字等
	$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 其实就是一张 png 图片
	header('Content-Type:text/html; charset=gbk');
	echo '<img src="Demo1.php" alt="图形"/>';
?>

 

Demo3.php

<?php
	//简单的验证码
	//随机数
	//为什么要循环 0-15 之间的数呢?
	//因为要实现最简单的字母和数字混搭
	//十六进制 0-9 a-f
	//dechex -- 十进制转换为十六进制
	//创建一个四位的验证码
	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 载入图像,是可以编辑图像
	//在载入的图像中,加入一个小水印
	$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 载入图像,是可以编辑图像
	//在载入的图像中,加入一个小水印
	$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','阅谁问君诵');
	//采用系统提供的字体
	//第二参数,是字体的大小,第三个参数是旋转角度,4,5参数是坐标
	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;
	//创建一个新图
	$im = imagecreatetruecolor($_width,$_height);
	//下面的工作是,载入原图,将原图复制到新图上去
	//载入原图
	$_im = imagecreatefrompng(__DIR__.'ss.png');	
	//将原图重新采样,拷贝到新图上,最后按 0.4 的比例输出
	//imagecopyresampled -- 重采样拷贝部分图像并调整大小
	imagecopyresampled($im,$_im,0,0,0,0,$_width,$_height,$width,$height);
	//将新图输出
	imagepng($im);
	//第二个参数不需要,直接 null 过度
	//第三个参数,是 0-100 来调节 JPG 的清晰度
	//如果是 imagepng,那么全部都是高清
	//imagejpeg($im,null,50);
	//销毁
	imagedestroy($im);
	imagedestroy($_im);
?>

 

 

 

 

分享到:
评论

相关推荐

    Visual C++数字图像处理技术详解第1-14章

    第一篇 数字图像处理编程基础  第1章 Visual C++图像处理基础 第二篇 数字图像处理核心技术 第2章 图像几何变换 第3章 图像正交变换 第4章 图像增强 第5章 图像复原 ...第14章 车牌识别系统综合应用

    图像工程 第四版 上册 图像处理 讲义 pdf

    图像工程 第四版 上册 图像处理 章毓晋 讲义 pdf 全十五章

    Visual C++数字图像处理技术详解源代码

    Visual C++数字图像处理技术详解源代码, 包括 第01章 VC++图像...第10章 图像压缩编码 第11章 图像特效 第12章 VC++结合OpenCV编程 第13章 VC++结合Matlab编程 第14章 车牌识别系统综合应用 等共14章,狗看一阵子的!!

    vc图像处理技术-第14章,连载

    vc图像处理技术-第14章,连载 图像处理技术详解,光盘 完毕,结束

    完整版精品课件 高等数学必学 中山大学 数学实验与数学软件 第14章 MATLAB数字图像处理初步(共42页).pptx

    中山大学 数学实验与数学软件 第14章 MATLAB数字图像处理初步(共42页).pptx 中山大学 数学实验与数学软件 第15章 MATLAB数据可视化(二)(共43页).pptx 中山大学 数学实验与数学软件 第16章 MATLAB期末复习与样...

    Visual C++数字图像处理技术详解.zip

    《Visual C++数字图像处理技术详解》以数字图像处理技术为主线,全面地介绍在Visual C++环境下进行数字图像处理程序设计的方法。内容涵盖了数字图像的变换、增强、复原、重建、形态学...第14章 车牌识别系统综合应用

    图像处理、分析与机器视觉(第三版)

    第1章引言,第2章图像及其表达与性质连续图像函数,第3章图像及其数学与物理背景第4章图像分析的数据结构第5章图像预处理第6章...第12章3d视觉的应用第13章数学形态学第14章图像数据压缩第15章纹理 第16章运动分析词汇

    AI人工智能技术 Python TensorFlow机器学习实战教程 第10章 图像处理 共21页.pptx

    【课程简介】 本课程适合所有需要学习自然语言处理技术的同学,课件内容制作精细,由浅入深,适合入门或进行知识回顾。 本章为该课程的其中一个章节,如有...第10章 图像处理 共21页.pptx 第11章 人脸识别 共19页.pptx

    AI人工智能技术 Python TensorFlow机器学习实战教程 第9章 语音处理 共16页.pptx

    【课程简介】 本课程适合所有需要学习自然语言处理技术的同学,课件内容制作精细,由浅入深,适合入门或进行知识回顾。 本章为该课程的其中一个章节,如有...第10章 图像处理 共21页.pptx 第11章 人脸识别 共19页.pptx

    数字图像处理试题集(硕博)

    13. 数字图像处理各章要求必做题及参考答案 14. 数字图像处理模拟试题4套(含答案) 15. 数字图像处理模拟题及参考答案 16. 数字图像处理试卷及答案(A卷) 17. 数字图像处理试卷及答案 18. 2007级“数字图像处理...

    数字图像处理与机器视觉 visual C++与Matlab实现 (第二版,张铮) (第15章)chapter15

    1-14章,16-17章请到我主页下载。

    数字图像处理(第六版,John C.Russ)

    目录: 第1章 获取图像 第2章 人类视觉 第3章 打印和存储 第4章 修正成像缺陷 第5章 空间域图像增强 第6章 频率空间中的图像处理 第7章 分割和阈值处理 第8章 二值图像处理 ...第14章 三维视图 第15章 表面成像

    数字图像处理电子版课件

    配主 编 何东健 副主编 耿 ...第四章 图像增强与平滑 第五章 图像分割与边缘检测 第六章 图像的几何变换 第七章 频域处理 第八章 数学形态学及其应用 第九章 图像特征与理解 第十章 图像编码 第十一章 图像复原

    智能图像处理技术PDF

    第14章 c基于内容的图像检索 14.1 基于内容的图像检索概述 14.1.1 基于内容的检索 14.1.2 基于内容的图像检索 14.1.3 基于内容的图像检索相关技术 14.1.4 基于内容的图像检索系统 14.2 基于颜色特征的...

    MATLAB图形图像处理

    第十四章 图像复原 14.1 退化模型 14.1.1 连续退化模型 14.1.2 离散退化模型 14.2 复原的代数方法 14.2.1 代数复原原理 14.2.2 逆滤波复原 14.2.3 最小二乘方滤波 14.3 MATLAB 实现图像复原 14.3.1 维纳...

    合成孔径雷达图像处理

    电子工业出版社,2005.2.第1章 合成孔径雷达图像的物理基础;第2章 合成孔径雷达的原理;第3章 星载合成孔径雷达系统;第4章 合成孔径雷达图像;第5章 相干斑的模型;第6章 反射系数的估计与...第14章 雷达海洋探测;

    unity3d游戏入门第二章开发环境.rar

    第14章 脚本的运行 第15章 预制体 第16章 (练习) 子弹发射 第17章 物理系统 第18章 碰撞检测 第19章 (练习)飞机大战 第20章 音频播放 第21章 延时与消息调用 第22章 交互界面UI 第23章 UI事件处理 第24章 ...

    C语言图像处理程序集

    书名:《C语言图像处理程序集》 作者:马建波 出版日期:1992 文档格式:pdf 目录 第 1 章 二值化 第 2 章 灰度变换 第 3 章 噪声消除 第 4 章 微分运算 第 5 章 投影量计算 ...第 14 章 图像显示

    Visual C++数字图像处理开发入门与编程实践第10章

    pic.jpg的分辨率为96像素每英寸 pic_72.jpg的分辩率为72像素每英寸 Color.h,Color.cpp:包含了6.5节处理图像的色彩的全部函数 &lt;br&gt;Example_GIF目录: 它是本章6.6节播放GIF动画的工程,用于播放GIF...

Global site tag (gtag.js) - Google Analytics