<?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. keepalived +mysql 实战

    keepalived高可用可以用在很多应用上,比如keepalived+反向代理著名的nginx.keepalived+数据库主从.keepalived+文件分布等等... 安装keepalived  ...

  2. Jenkins学习记录

    参考资料 官方文档 用MSBuild和Jenkins搭建持续集成环境(1) 用MSBuild和Jenkins搭建持续集成环境(2) 构建基于Jenkins + Github的持续集成环境 Jenkin ...

  3. 用ultraISO 制作一个MSdos启动软盘镜像

    见过软盘,但是没用过,在虚拟机里试试. 磁带,软盘,光盘,硬盘…… 储存介质一代代更新,看到的img.iso文件都是叫做镜像文件(image file ).image 即图片照片,所谓的image f ...

  4. Javascript 笔记与总结(2-10)删除节点,创建节点

    [删除节点] 步骤: ① 找到对象 ② 找到他的父对象 parentObj ③ parentObj.removeChild(子对象); [例] <!DOCTYPE html> <ht ...

  5. sortedArrayUsingComparator

    /* 升序.降序 */ NSArray * array41 = @[@,@,@,@,@,@,@]; NSArray * array42 = [[NSArray alloc]init]; array42 ...

  6. Yii源码阅读笔记(四)

    所有控制器action的基类yii\base\Action.php namespace yii\base;//定义的命名空间 use Yii //使用的命名空间 class Action extend ...

  7. LR中获取当前系统时间方法

    方法一:使用loadrunner的参数化获取当前时间使用lr的参数化,非常方便,对lr熟悉的各位朋友也能马上上手,时间格式也有很多,可以自由选择.步骤:1.将复制给aa的值参数化2.选中abc,使用右 ...

  8. laravel 外键schema RBAC

    $table->bigIncrements('id')  ;   Incrementing ID (primary key) using a " UNSIGNED BIG INTEGE ...

  9. P1017 进制转换

    模拟水题,直接上代码 #include <bits/stdc++.h> using namespace std; const int maxn = 100000; int main() { ...

  10. ArcGIS Server 服务迁移、恢复

    服务迁移与恢复 如果服务可以迁移,那么备份迁移所需文件,即可恢复原服务,所以"服务的迁移与恢复"."服务的备份"问题可以汇总为一个问题"怎样迁移服务. ...