<?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图片处理函数自定义画图和引入图片的更多相关文章

  1. php 随机显示图片的函数(实例分享)

    转自:http://www.jbxue.com/article/12695.html 发布:thatboy   来源:Net     [大 中 小] 本文分享一个php实现的随机显示图片的函数,可以将 ...

  2. php 随机显示图片的函数(实例)

    转自:http://www.jbxue.com/article/12695.html   发布:thatboy   来源:Net     [大 中 小] 本文分享一个php实现的随机显示图片的函数,可 ...

  3. 转:【译】Asp.net MVC 利用自定义RouteHandler来防止图片盗链

    [译]Asp.net MVC 利用自定义RouteHandler来防止图片盗链   你曾经注意过在你服务器请求日志中多了很多对图片资源的请求吗?这可能是有人在他们的网站中盗链了你的图片所致,这会占用你 ...

  4. jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)

    1.表单验证插件——validate   该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:   $(form).validate({o ...

  5. Vue.js 第2章 钩子函数&自定义指令&过滤器&计算属性&侦听器

    目标 钩子函数 自定义指令 自定义过滤器 计算属性 监听属性 局部自定义指令 为什么需要自定义指令 为了复用,为了代码的灵活 指令的分类:全局指令,局部指令 在vm外面创建的指令 通过Vue.dire ...

  6. Android实现自定义带文字和图片的Button

    Android实现自定义带文字和图片的Button 在Android开发中经常会需要用到带文字和图片的button,下面来讲解一下常用的实现办法. 一.用系统自带的Button实现 最简单的一种办法就 ...

  7. 显示图片的(自定义)吐司Toast

    一般我们提示的时候都是直接提示文字的,其实Toast也可以显示图片 常用方法 Toast.makeText(context,text,duration)这返回一个Toast对象 toast.setDu ...

  8. java画图程序_图片用字母画出来_源码发布_版本二

    在上一个版本:java画图程序_图片用字母画出来_源码发布 基础上,增加了图片同比例缩放,使得大像素图片可以很好地显示画在Notepad++中. 项目结构: 运行效果1: 原图:http://imag ...

  9. java画图程序_图片用字母画出来_源码发布

    在之前写了一篇blog:java画图程序_图片用字母画出来 主要是把一些调试的截图发布出来,现在程序调试我认为可以了(当然,你如果还想调试的话,也可以下载源码自己调试). 就把源码发布出来. 项目结构 ...

随机推荐

  1. JBPM4.4与SSH2之整合

    JBPM4.4与SSH2之整合(附完整源码) 这是我来到这世上二十多年来,第二次写博客啊.哈哈  这些天,想着把jbpm4.4与ssh2整合一下,由于之前从来没用过jbpm,也不知道各版本之间会有什么 ...

  2. 关于iOS手势

    引: 前几天遇到一个坑,又仔细分析了一下事件的原理,不得不承认苹果的文档还是写的挺好的,网上就搜不到有几篇博客是介绍这个的,都是一些关于基本的用法的.这里纪录一下. 1.关于事件响应链. a.硬件接收 ...

  3. FLTK 1.3.3 VS 2010 Configuration 配置

    Download FLTK 1.3.3 Download VS2010 I assume you've already installed VS2010 correctly. Compile the ...

  4. python基础数据类型

    整形:(不可变类型) >>> a = 123>>> type(a)<class 'int'> 长整形:(在python3中已经废弃了) >> ...

  5. java工程包的命名(-dev.jar,-javadoc.jar,jar)

    1.-javadoc.jar 这个应该是一个doc包,就是API,相当于帮助文档,用来说明类.方法.静态变量 都是干什么的. 2.-dev.jar,.jar都有可能包含源码,也可能都不包含

  6. HTML&CSS----练习隐藏导航栏(三级导航)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. HTML&CSS布局练习---360导航页面

    一共分为7个部分:由HTML和CSS外部样式表做成 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  8. panel,dialog,window组件越界问题汇总

    之前分别写过panel,dialog,window三个组件因为拖曳或者reSize造成组件越界而无法还原的问题,两篇文章分别针对拖曳和reSize给出了解决方案.不过根据朋友的反馈,reSize的解决 ...

  9. [ZZ] D3D中的模板缓存(3)

    http://www.cppblog.com/lovedday/archive/2008/03/25/45334.html http://www.cppblog.com/lovedday/ D3D中的 ...

  10. ThinkPHP 学习笔记 ( 五 ) 数据验证

    根据官网的教程 ( http://www.thinkphp.cn/info/171.html ),数据验证的使用静态定义方式 ( 以 regex 为例 ) 无法验证数据: 而采用动态验证则正常: 控制 ...