PHP 载入图像 imagecreatefrom_gif_jpeg_png 系列函数

imagecreatefrom 系列函数用于从文件或 URL 载入一幅图像。

载入图像

imagecreatefrom 系列函数用于从文件或 URL 载入一幅图像,成功返回图像资源,失败则返回一个空字符串。

该系列函数有:

  • imagecreatefromgif():创建一块画布,并从 GIF 文件或 URL 地址载入一副图像
  • imagecreatefromjpeg():创建一块画布,并从 JPEG 文件或 URL 地址载入一副图像
  • imagecreatefrompng():创建一块画布,并从 PNG 文件或 URL 地址载入一副图像
  • imagecreatefromwbmp():创建一块画布,并从 WBMP 文件或 URL 地址载入一副图像
  • imagecreatefromstring():创建一块画布,并从字符串中的图像流新建一副图像

语法:

resource imagecreatefromgif( string filename )
resource imagecreatefromjpeg( string filename )
resource imagecreatefrompng( string filename )
resource imagecreatefromwbmp( string filename )
resource imagecreatefromstring( string image )

例子:

<?
header("Content-type: image/jpeg");

//创建并载入一幅图像
$im = @imagecreatefromjpeg("images/flower_1.jpg");

//错误处理
if(!$im){
    $im  = imagecreatetruecolor(150, 30);
    $bg = imagecolorallocate($im, 255, 255, 255);
    $text_color  = imagecolorallocate($im, 0, 0, 255);
    //填充背景色
    imagefilledrectangle($im, 0, 0, 150, 30, $bg);
    //以图像方式输出错误信息
    imagestring($im, 3, 5, 5, "Error loading image", $text_color);
} else {
    //输出该图像
    imagejpeg($im);
}
?>

在该例子中,我们载入并输出原图。由于 PHP 对图像创建错误没有友好的错误提示,因此我们自定义了错误处理信息。

提示

对于 PHP 生成的图片,如果要直接在普通网页中显示而不是通过 header 输出,可以通过如下的方式调用:

<img src="pic.php" />
时间: 2024-12-20 13:41:59

PHP 载入图像 imagecreatefrom_gif_jpeg_png 系列函数的相关文章

exec系列函数(execl,execlp,execle,execv,execvp)使用

本节目标: exec替换进程映像 exec关联函数组(execl.execlp.execle.execv.execvp) 一,exec替换进程映像 在进程的创建上Unix采用了一个独特的方法,它将进程创建与加载一个新进程映象分离.这样的好处是有更多的余地对两种操作进行管理. 当我们创建了一个进程之后,通常将子进程替换成新的进程映象,这可以用exec系列的函数来进行.当然,exec系列的函数也可以将当前进程替换掉. 例如:在shell命令行执行ps命令,实际上是shell进程调用fork复制一个新

PHP实现的自定义图像居中裁剪函数示例

图像居中裁减的大致思路: 1.首先将图像进行缩放,使得缩放后的图像能够恰好覆盖裁减区域.(imagecopyresampled ― 重采样拷贝部分图像并调整大小) 2.将缩放后的图像放置在裁减区域中间.(imagecopy ― 拷贝图像的一部分) 3.裁减图像并保存.(imagejpeg | imagepng | imagegif ― 输出图象到浏览器或文件) 具体代码: <?php //==================缩放裁剪函数==================== /** * 居中裁

PHP 使用 curl_* 系列函数和 curl_multi_* 系列函数进行多接口调用时的性能对比

在页面中调用的服务较多时,使用并行方式,即使用 curl_multi_* 系列函数耗时要小于 curl_* 系列函数. 测试环境 操作系统:Windows 10 x64 Server:Apache 2.4.18 PHP:5.6.19 MySQL:5.7.11 cURL:7.47.1 测试数据库选择 MySQL 官方网站的样本数据库 sakila,下载地址:http://dev.mysql.com/doc/index-other.html 测试页面需要调用 3 个 api: getActorInf

openssl之EVP系列之10---EVP_Sign系列函数介绍

---依据openssl doc/crypto/EVP_SignInit.pod翻译 (作者:DragonKing, Mail: [email protected] ,公布于:http://openssl.126.com 之openssl专业论坛,版本号:openssl-0.9.7) EVP_Sign系列函数使用的基础结构跟信息摘要算法使用的基础结构是一样的.并且,其前面的两个操作步骤初始化和数据操作(信息摘要)也跟信息摘要算法是一样的,唯一不一样的是最后一步操作.本系列函数做了签名的工作,而信

[OS] 多线程--原子操作 Interlocked系列函数

转自:http://blog.csdn.net/morewindows/article/details/7429155 上一篇<多线程--第一次亲密接触 CreateThread与_beginthreadex本质区别>中讲到一个多线程报数功能.为了描述方便和代码简洁起见,我们可以只输出最后的报数结果来观察程序是否运行出错.这也非常类似于统计一个网站每天有多少用户登录,每个用户登录用一个线程模拟,线程运行时会将一个表示计数的变量递增.程序在最后输出计数的值表示有今天多少个用户登录,如果这个值不等

原子操作 Interlocked系列函数

上一篇<多线程第一次亲密接触 CreateThread与_beginthreadex本质区别>中讲到一个多线程报数功能.为了描述方便和代码简洁起见,我们可以只输出最后的报数结果来观察程序是否运行出错.这也非常类似于统计一个网站每天有多少用户登录,每个用户登录用一个线程模拟,线程运行时会将一个表示计数的变量递增.程序在最后输出计数的值表示有今天多少个用户登录,如果这个值不等于我们启动的线程个数,那显然说明这个程序是有问题的.整个程序代码如下: [cpp] view plain copy #inc

秒杀多线程第三篇 原子操作 Interlocked系列函数

版权声明:本文为博主原创文章,未经博主允许不得转载. 上一篇<多线程第一次亲密接触 CreateThread与_beginthreadex本质区别>中讲到一个多线程报数功能.为了描述方便和代码简洁起见,我们可以只输出最后的报数结果来观察程序是否运行出错.这也非常类似于统计一个网站每天有多少用户登录,每个用户登录用一个线程模拟,线程运行时会将一个表示计数的变量递增.程序在最后输出计数的值表示有今天多少个用户登录,如果这个值不等于我们启动的线程个数,那显然说明这个程序是有问题的.整个程序代码如下:

Winsock系列函数 及 Socket通信流程

Socket是一种网络通信机制 Winsock系列函数 1. Socket 创建socket 2. Connect 尝试连接远端Socket 3. Send 在某个Socket 向远端发送数据 4. Recv 接收远端数据 5. Closesocket 关闭连接 6. Listen 在某个Socket上建立监听 7. Accept 接收一条新的连接 (是接收连接而不是接收数据) 8. Bind 给一个Socket分配一个本地协议地址 9. Select 用于检测Socket状态,用于高级通信 1

Linux中backtrace()系列函数的应用实例

一.引言 backtrace()系列函数可用来输出代码出错时的函数调用关系. A backtrace is the series of currently active function calls for the program. #include <execinfo.h> int backtrace(void **buffer, int size); char **backtrace_symbols(void *const *buffer, int size); void backtrac