这是一个如何做到这一点的例子 – 使用

gd function调用来制作你的图像,但是玩得很好并缓存图像.这个示例通过确保如果浏览器已经具有所需图像,则返回304 …

#here's where we'll store the cached images

$cachedir=$_SERVER['DOCUMENT_ROOT'].'/imgcache/'

#get the score and sanitize it

$score=$_GET['score'];

if (preg_match('/^[0-9]\.[0-9]{1,2}$/', $score)

{

#figure out filename of cached file

$file=$cachedir.'score'.$score.'gif';

#regenerate cached image

if (!file_exists($file))

{

#generate image - this is lifted straight from the php

#manual, you'll need to work out how to make your

#image, but this will get you started

#load a background image

$im = imagecreatefrompng("images/button1.png");

#allocate color for the text

$orange = imagecolorallocate($im, 220, 210, 60);

#attempt to centralise the text

$px = (imagesx($im) - 7.5 * strlen($score)) / 2;

imagestring($im, 3, $px, 9, $score, $orange);

#save to cache

imagegif($im, $file);

imagedestroy($im);

}

#return image to browser, but return a 304 if they already have it

$mtime=filemtime($file);

$headers = apache_request_headers();

if (isset($headers['If-Modified-Since']) &&

(strtotime($headers['If-Modified-Since']) >= $mtime))

{

// Client's cache IS current, so we just respond '304 Not Modified'.

header('Last-Modified: '.gmdate('D, d M Y H:i:s', $mtime).' GMT', true, 304);

exit;

}

header('Content-Type:image/gif');

header('Content-Length: '.filesize($file));

header('Last-Modified: '.gmdate('D, d M Y H:i:s', $mtime).' GMT');

readfile($file);

}

else

{

header("HTTP/1.0 401 Invalid score requested");

}

如果你将它放在image.php中,你将在图像标记中使用如下

php 动态显示数字,php – 如何动态创建具有指定数字的图像?相关推荐

  1. vue利用 vue-animate-number插件动态展示数字(从0动态滚动到指定数字)

    vue利用 vue-animate-number插件动态展示数字(从0动态滚动到指定数字) 第一步:安装vue-animate-number插件 $ npm install vue-animate-n ...

  2. FindChildControl与FindComponent(动态创建的控件要通过Owner.FindComponent去找该控件)

    前两天编码遇到了要使用FindChildControl方法获取指定名称的TSpeedButton按钮,结果折腾了半天就是没得结果(基础不扎实,呵呵),于是赶紧搜索了下,补习关于这两个方法的用法. TW ...

  3. [原]动态创建Web控件制做计算器

    最近参加了Web基础开发的培训,收获不少,做了一个练习,在后台动态创建控件制作了一个简单功能的计算器.程序中控件创建好以后,往往不能放在想要的位置,前台的布局非常麻烦,我用Table.TableRow ...

  4. MFC动态创建控件并响应事件代码实现过程

    MFC动态创建控件以及响应动态创建的控件的事件的实现方法如下. 1.创建对象     用new进行动态创建一个对象.然后调用Create函数创建窗口,在函数的父窗口参数中传入this或者用AfxGet ...

  5. 用js监控分辨率调整背景图片宽度_如何使用CSS Paint API动态创建与分辨率无关的可变背景

    现代Web应用对图像的需求量很大,它们占据网络下载的大部分字节.通过优化它们,你可以更好地利用它们的性能.如果你碰巧使用几何图形作为背景图像,有一个替代方案:你可以使用CSS Paint API以编程 ...

  6. poi动态创建文档_POI创建的文档具有不同条件的灵活样式

    poi动态创建文档 介绍 这篇文章解释了基于各种标准将样式应用于文档的困难并提供了解决方案. Java编程中的常见任务之一是根据存储在数据库中的数据创建Excel报告. 在这些情况下,Java程序员使 ...

  7. FreeRTOS学习笔记---动态创建任务 xTaskCreate() 源码分析

    在看FreeRTOS源码的时候,各个函数相互调用,各种参数相互传递,看的人云里雾里,越看越糊涂.为了搞清楚各个函数之间的相互关系,就边看源码,边画思维导图,用文字将函数功能描述出来,搞清楚整个函数框架 ...

  8. 动态创建Sql Server用户及其权限

    一.如何动态创建用户 1.使用存储过程 sp_addlogin (Transact-SQL) 创建新的 SQL Server 登录,该登录允许用户使用 SQL Server 身份验证连接到 SQL S ...

  9. QML 中如何动态创建组件

    作者:billy 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 在使用 Qt Quick 开发的过程中,有时我们会遇到这样的需求,界面窗口显示出来后,某些 Ite ...

最新文章

  1. Java内存管理之软引用(Soft Reference)
  2. 优先级反转和解决方法
  3. 《Go语言圣经》学习笔记 第四章 复合数据类型
  4. Vue监听滚动条事件 点击回到顶部
  5. matlab项目实例教程,matlab简明实例教程.doc
  6. 【clickhouse】clickhouse 的 数据类型
  7. python 两阶段聚类_Python,如何对多元时间序列进行聚类?
  8. IE兼容性小结(IE7及以上版本)
  9. 在线民宿满意度测评项目[开源]
  10. 封装条形码MaHelper
  11. Hive环境搭建及测试
  12. EK算法(网络流,最大流)
  13. TunesKit Video Cutter for mac(视频分割编辑器)
  14. Pixelization论文与应用简介:像素艺术像素化算法
  15. MATLAB排列组合计算
  16. php实现下雪场景,下雪的唯美短句 下雪的场景写一段话
  17. Android图片缓存框架 - Fresco的GenericDraweeHierarchy (五)
  18. pg服务管理 与 psql常用命令
  19. parsec-3.0 安装报错(__mbstate_t)
  20. 【PSO】熟悉PSO算法

热门文章

  1. PHP的uniqid
  2. java 只显示文本文件_Java设计并实现一个应用程序,能够读取一个文本文件中的内容并显示,同时能够计算出文本中的行数。...
  3. jQuery实现获取选中复选框的值
  4. PHP底层运行原理初探
  5. 个子矮s弯如何看点打方向图解_S弯如何看点打方向
  6. 清空mysql一个库中的所有表_mysql怎样清空一个数据库中的所有表_MySQL
  7. plsql 无法解析指定的连接标识符_Java方法加载、解析、存储、调用
  8. 温度测量系统流程图_土壤温度和水分含量是如何调控城市草坪土壤N2O通量的?——来自LICOR土壤温室气体通量长期监测系统14个月的测量数据...
  9. 【流媒体服务器的搭建】2. 源码编译安装ffmpeg
  10. linux 利用yum源安装mysql5.7