不用GD库生成当前时间的PNG格式图象的程序

2016-01-29 14:58 35 1 收藏

不用GD库生成当前时间的PNG格式图象的程序,不用GD库生成当前时间的PNG格式图象的程序

【 tulaoshi.com - PHP 】

 

该程序是不用GD库可以生成当前时间的PNG格式图象,给人大开眼界,很有参考价值. teaman整理

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)

<?php
       
    function set_4pixel($r, $g, $b, $x, $y)
    {
    global $sx, $sy, $pixels;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)

    $ofs = 3 * ($sx * $y + $x);
    $pixels[$ofs] = chr($r);
    $pixels[$ofs + 1] = chr($g);
    $pixels[$ofs + 2] = chr($b);
    $pixels[$ofs + 3] = chr($r);
    $pixels[$ofs + 4] = chr($g);
    $pixels[$ofs + 5] = chr($b);
    $ofs += 3 * $sx;
    $pixels[$ofs] = chr($r);
    $pixels[$ofs + 1] = chr($g);
    $pixels[$ofs + 2] = chr($b);
    $pixels[$ofs + 3] = chr($r);
    $pixels[$ofs + 4] = chr($g);
    $pixels[$ofs + 5] = chr($b);
    }
    //生成数字图象的函数    
    function draw2digits($x, $y, $number)
    {
    draw_digit($x, $y, (int) ($number / 10));
    draw_digit($x + 11, $y, $number % 10);
    }
        
    function draw_digit($x, $y, $digit)
    {
    global $sx, $sy, $pixels, $digits, $lines;
            
    $digit = $digits[$digit];
    $m = 8;
    for ($b = 1, $i = 0; $i < 7; $i++, $b *= 2) {
        if (($b & $digit) == $b) {
        $j = $i * 4;
        $x0 = $lines[$j] * $m + $x;
        $y0 = $lines[$j + 1] * $m + $y;
        $x1 = $lines[$j + 2] * $m + $x;
        $y1 = $lines[$j + 3] * $m + $y;
        if ($x0 == $x1) {
            $ofs = 3 * ($sx * $y0 + $x0);
            for ($h = $y0; $h <= $y1; $h++, $ofs += 3 * $sx) {
            $pixels[$ofs] = chr(0);
            $pixels[$ofs + 1] = chr(0);
            $pixels[$ofs + 2] = chr(0);
            }
        } else {
            $ofs = 3 * ($sx * $y0 + $x0);
            for ($w = $x0; $w <= $x1; $w++) {
            $pixels[$ofs++] = chr(0);
            $pixels[$ofs++] = chr(0);
            $pixels[$ofs++] = chr(0);
            }
        }
        }
    }
    }
        
    //将文字加入到图象中 
    function add_chunk($type)
    {
    global $result, $data, $chunk, $crc_table;

    // chunk :为层
    // length: 4 字节: 用来计算 chunk 
    // chunk type: 4 字节
    // chunk data: length bytes

来源:http://www.tulaoshi.com/n/20160129/1494878.html

延伸阅读
一、静态库的生成 a) 用VC向导生成一个win32 Static Library工程 b) 添加头文件,声明函数接口。 c) 添加实现文件,包含头文件并实现其中的函数。 d) 编译工程后,生成Mylib.lib。 二、静态库的应用 a) 用MFC AppWizard生成VC++工程。 b) 将前面生成的Mylib.lib 和 mylib.h拷贝到当前工程目录下...
标签: Web开发
用php生成excel文件   ? header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=test.xls"); echo "test1\t"; echo "test2\t\n"; echo "test1\t"; echo "test2\t\n"; echo "test1\t"; echo "test2\t\n"; echo &...
Windows提供了一个API函数GetDesktopWindow,该函数返回桌面窗口的设备描述。因此利用它就可以轻松获取桌面窗口的图象。 参见下例: 步骤1----建立新工程。 步骤2----编写如下代码: PrivateDeclareFunctionGetDesktopWindowLib"user32"()AsLong PrivateDeclareFunctionGetDCLib"user32"(ByValhwndAsLong)_ AsLong ...
看看调整图层的图标怎么会变成这样,那就先看看下面的四张图。 然后我再来解释 虽然图的tulaoshi.com内容都差不多,不过有没有注意到由于图像的宽度不同,而使得图像在创建调整图层后,调整图层的图标发生了变化。 第1张图的比例是 1:1 第2张图的比例是 4:3 第3张图的比例是 8:5 第4...
标签: ASP
在用ASP编程中,很多时侯要用到图象。对于单纯从数据库中处理一个图象,方法大家讲了很多,也不难,可以看下面的代码:这里假设你有个数据库名字叫:PUBS,在数据库中有一个叫:PUB_INFO的表,在表中有一个LOGO的BLOB列。我们查出PUB_ID=0736的人的相片。 FILE: SHOWIMG.ASP *************************************** <%@ LANGUAGE="VBSCRIP...

经验教程

11

收藏

54
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部