<?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. 从eclipse到Android studio/迁移eclipse的Android项目到Android studio平台的注意事项

    整体要注意的地方 先说明一下整体需要注意的地方 1在Android studio建立项目的时候,要注意包名和原来的完全一致,不然会有很多需要改动. 2依赖的jar一定一定要找齐,不然新建项目引用不到, ...

  2. POJ 1573 Robot Motion(BFS)

    Robot Motion Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12856   Accepted: 6240 Des ...

  3. 将url的查询参数解析成字典对象

    1, 这个题目不约而同的出现在了多家公司的面试题中,当然也是因为太过于典型,解决方案无非就是拆字符或者用正则匹配来解决,我个人强烈建议用正则匹配,因为url允许用户随意输入,如果用拆字符的方式,有任何 ...

  4. POJ 1062 dij

    一道读题读的不明所以的题... 每个人只能接受和自己等级差距不超过m的人进行交易 包括间接交易 所以我们可以枚举每一个长度为m的围绕着酋长的等级区间 每次都对这个等级区间内的人进行操作 求dis[1] ...

  5. [办公自动化]无法使用江南天安usbkey 无法使用视频网站

    同事打来电话说,无法使用江南天安开发的usbkey. 修复基本步骤记录如下: 1.卸载一切设备管理器中与之相关的驱动.拔出key. 2.重启计算机. 3.前往业务公开网站安装驱动. 4.插入key测试 ...

  6. PHP网络操作函数汇总

    PHP网络操作函数汇总 投稿:junjie 字体:[增加 减小] 类型:转载   这篇文章主要介绍了PHP网络操作函数汇总,本文列举了如gethostbyaddr.gethostbyname.head ...

  7. android Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.

    在当前工程目录中 gradle.properties 添加org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m http://stackoverflow ...

  8. Jetbrains phpstorm pycharm 免费授权注册码

    通过授权服务器授权 jetbrains是一家专门做IDE的软件公司,软件也非常好用,但是授权特别贵,下面就说说免费的方式,就是使用授权服务器,地址:http://idea.qinxi1992.cn 自 ...

  9. fatal error C1854: 无法覆盖在创建对象文件.obj”的预编译头过程中形成的信息

    原因: 将stdafx.cpp 的预编译头属性  由 创建预编译头(/Yc) 改成了 使用预编译头(/Yu) 解决: 改回为 创建预编译头(/Yc) 参考文档 http://blog.csdn.net ...

  10. .Net 2.0自带的Json序列化、反序列化方法

    public class JsonUtil    {        public static T DeserializeObject<T>(string json)        {   ...