php图片处理函数自定义画图和引入图片
<?php
//创建画布,就是画画的位置 imagecreate()
//为图像分配颜色 imagecolorallocate() 可以把颜色填充到区域中,不能直接填充画布?
//区域填充 bool imagefill(resource image, intx, inty, int color); x,y为填充点
//生成图像 imagegif(resource image[,string,filename])
//释放内存 imagedestroy(resource image)
/* 点 -> 线 -> 面 -> 体
imagefill() 区域填充
imagesetpixel() 画一个单一像素
imageline() 画一条线
imagefilledrectangle 画一个矩形
*/
// $img = imagecreate(500, 200); var_dump($img);
$img = imagecreatetruecolor(500, 200); //真彩色画布,默认是屏幕关掉的颜色
$color = imagecolorallocate($img, 230, 230, 230);
imagefill($img, 0, 0, $color);
$color = imagecolorallocate($img, 255, 0, 0);
imagesetpixel($img, 50, 50, $color);
imageline($img, 10, 10, 490, 190, $color);
imagefilledrectangle($img, 50, 50, 400, 100, $color);
$point = array(15, 15, 400, 20, 390, 190, 17, 180);
imagepolygon($img, $point, 4, $color);
imagestring($img, 5, 20, 150, "ABCDEFHIJKLMN", $color); //5为字体的大小
// imagestringup();
// imagechar();
imagettftext(image, size, angle, x, y, color, fontfile, text); //添加字体样式的文本
header("content-type:image/png"); //头信息,告诉浏览器这是一张图片
imagepng($img);
imagedestroy($img); //释放图片的内存
?>
<?php
$img = imagecreatefromjpeg("./1.jpg");
// header("content-type:image/jpeg");
// imagejpeg($img);
// echo "<pre>";
// print_r(getimagesize("./1.jpg"));
// echo "</pre>";
$w = imagesX($img); //获取图片的宽度
$h = imagesY($img); //获取图片的高度
$nw = ceil($w * 2);
$nh = ceil($h * 2);
$nimg = imagecreatetruecolor($nw, $nh); //创建画布
//重采样拷贝部分图像并调整大小,即图片的剪切和裁剪
imagecopyresampled($nimg, $img, 0, 0, 0, 0, $nw, $nh, $w, $h);
//0 0 新图哪里存放位置
//0 0 原图的哪里去剪切
//$nw $nh 新图的宽度和高度
//$w $h 原图剪切多少
//imagecopy() 拷贝图像的一部分
header("content-type:image/jpeg");
imagejpeg($nimg);
?>
<?php
$desimg = imagecreatefromjpeg("./1.jpg"); //目标图片,从资源处创建
$srcimg = imagecreatefromjpeg("./2.jpg"); //源图片,从资源处创建
imagecopy($desimg, $srcimg, 80, 80, 10, 10, 250, 201);
//80 80 确定图片的放置点
//10 10 250 201 确定copy的区域,是一个矩形
header("content-type:image/jpeg");
imagejpeg($desimg);
imagedestroy($desimg);
imagedestroy($srcimg);
?>
php图片处理函数自定义画图和引入图片的更多相关文章
- php 随机显示图片的函数(实例分享)
转自:http://www.jbxue.com/article/12695.html 发布:thatboy 来源:Net [大 中 小] 本文分享一个php实现的随机显示图片的函数,可以将 ...
- php 随机显示图片的函数(实例)
转自:http://www.jbxue.com/article/12695.html 发布:thatboy 来源:Net [大 中 小] 本文分享一个php实现的随机显示图片的函数,可 ...
- 转:【译】Asp.net MVC 利用自定义RouteHandler来防止图片盗链
[译]Asp.net MVC 利用自定义RouteHandler来防止图片盗链 你曾经注意过在你服务器请求日志中多了很多对图片资源的请求吗?这可能是有人在他们的网站中盗链了你的图片所致,这会占用你 ...
- jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)
1.表单验证插件——validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下: $(form).validate({o ...
- Vue.js 第2章 钩子函数&自定义指令&过滤器&计算属性&侦听器
目标 钩子函数 自定义指令 自定义过滤器 计算属性 监听属性 局部自定义指令 为什么需要自定义指令 为了复用,为了代码的灵活 指令的分类:全局指令,局部指令 在vm外面创建的指令 通过Vue.dire ...
- Android实现自定义带文字和图片的Button
Android实现自定义带文字和图片的Button 在Android开发中经常会需要用到带文字和图片的button,下面来讲解一下常用的实现办法. 一.用系统自带的Button实现 最简单的一种办法就 ...
- 显示图片的(自定义)吐司Toast
一般我们提示的时候都是直接提示文字的,其实Toast也可以显示图片 常用方法 Toast.makeText(context,text,duration)这返回一个Toast对象 toast.setDu ...
- java画图程序_图片用字母画出来_源码发布_版本二
在上一个版本:java画图程序_图片用字母画出来_源码发布 基础上,增加了图片同比例缩放,使得大像素图片可以很好地显示画在Notepad++中. 项目结构: 运行效果1: 原图:http://imag ...
- java画图程序_图片用字母画出来_源码发布
在之前写了一篇blog:java画图程序_图片用字母画出来 主要是把一些调试的截图发布出来,现在程序调试我认为可以了(当然,你如果还想调试的话,也可以下载源码自己调试). 就把源码发布出来. 项目结构 ...
随机推荐
- JBPM4.4与SSH2之整合
JBPM4.4与SSH2之整合(附完整源码) 这是我来到这世上二十多年来,第二次写博客啊.哈哈 这些天,想着把jbpm4.4与ssh2整合一下,由于之前从来没用过jbpm,也不知道各版本之间会有什么 ...
- 关于iOS手势
引: 前几天遇到一个坑,又仔细分析了一下事件的原理,不得不承认苹果的文档还是写的挺好的,网上就搜不到有几篇博客是介绍这个的,都是一些关于基本的用法的.这里纪录一下. 1.关于事件响应链. a.硬件接收 ...
- FLTK 1.3.3 VS 2010 Configuration 配置
Download FLTK 1.3.3 Download VS2010 I assume you've already installed VS2010 correctly. Compile the ...
- python基础数据类型
整形:(不可变类型) >>> a = 123>>> type(a)<class 'int'> 长整形:(在python3中已经废弃了) >> ...
- java工程包的命名(-dev.jar,-javadoc.jar,jar)
1.-javadoc.jar 这个应该是一个doc包,就是API,相当于帮助文档,用来说明类.方法.静态变量 都是干什么的. 2.-dev.jar,.jar都有可能包含源码,也可能都不包含
- HTML&CSS----练习隐藏导航栏(三级导航)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- HTML&CSS布局练习---360导航页面
一共分为7个部分:由HTML和CSS外部样式表做成 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
- panel,dialog,window组件越界问题汇总
之前分别写过panel,dialog,window三个组件因为拖曳或者reSize造成组件越界而无法还原的问题,两篇文章分别针对拖曳和reSize给出了解决方案.不过根据朋友的反馈,reSize的解决 ...
- [ZZ] D3D中的模板缓存(3)
http://www.cppblog.com/lovedday/archive/2008/03/25/45334.html http://www.cppblog.com/lovedday/ D3D中的 ...
- ThinkPHP 学习笔记 ( 五 ) 数据验证
根据官网的教程 ( http://www.thinkphp.cn/info/171.html ),数据验证的使用静态定义方式 ( 以 regex 为例 ) 无法验证数据: 而采用动态验证则正常: 控制 ...