最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php不用GD庫(kù)生成當(dāng)前時(shí)間的PNG格式圖象的程序

 更新時(shí)間:2008年09月28日 14:40:24   作者:  
該程序是不用GD庫(kù)可以生成當(dāng)前時(shí)間的PNG格式圖象,給人大開眼界,很有參考價(jià)值. teaman整理

$date = getdate();
$s = $date["seconds"];
$m = $date["minutes"];
$h = $date["hours"];
$digits = array(95, 5, 118, 117, 45, 121, 123, 69, 127, 125);
$lines = array(1, 1, 1, 2, 0, 1, 0, 2, 1, 0, 1, 1, 0, 0, 0, 1, 0, 2, 1, 2, 0, 1, 1, 1, 0, 0, 1, 0);

draw2digits(4, 2, $h);
draw2digits(30, 2, $m);
draw2digits(56, 2, $s);
set_4pixel(0, 0, 0, 26, 7);
set_4pixel(0, 0, 0, 26, 13);
set_4pixel(0, 0, 0, 52, 7);
set_4pixel(0, 0, 0, 52, 13);

// 創(chuàng)建循環(huán)冗余碼校驗(yàn)表
$z = -306674912; // = 0xedb88320
for ($n = 0; $n < 256; $n++) {
$c = $n;
for ($k = 0; $k < 8; $k++) {
$c2 = ($c >> 1) & 0x7fffffff;
if ($c & 1) $c = $z ^ ($c2); else $c = $c2;
}
$crc_table[$n] = $c;
}

// PNG file signature
$result = pack("c*", 137,80,78,71,13,10,26,10);

// IHDR chunk data:
// width: 4 bytes
// height: 4 bytes
// bit depth: 1 byte (8 bits per RGB value)
// color type: 1 byte (2 = RGB)
// compression method: 1 byte (0 = deflate/inflate)
// filter method: 1 byte (0 = adaptive filtering)
// interlace method: 1 byte (0 = no interlace)
$data = pack("c*", ($sx >> 24) & 255,
($sx >> 16) & 255,
($sx >> 8) & 255,
$sx & 255,
($sy >> 24) & 255,
($sy >> 16) & 255,
($sy >> 8) & 255,
$sy & 255,
8,
2,
0,
0,
0);
add_chunk("IHDR");

// 以下不敢亂翻譯,請(qǐng)自行參考
// scanline:
// filter byte: 0 = none
// RGB bytes for the line
// the scanline is compressed with "zlib", method 8 (RFC-1950):
// compression method/flags code: 1 byte ($78 = method 8, 32k window)
// additional flags/check bits: 1 byte ($01: FCHECK = 1, FDICT = 0, FLEVEL = 0)
// compressed data blocks: n bytes
// one block (RFC-1951):
// bit 0: BFINAL: 1 for the last block
// bit 1 and 2: BTYPE: 0 for no compression
// next 2 bytes: LEN (LSB first)
// next 2 bytes: one's complement of LEN
// LEN bytes uncompressed data
// check value: 4 bytes (Adler-32 checksum of the uncompressed data)
//
$len = ($sx * 3 + 1) * $sy;
$data = pack("c*", 0x78, 0x01,
1,
$len & 255,
($len >> 8) & 255,
255 - ($len & 255),
255 - (($len >> 8) & 255));
$start = strlen($data);
$i2 = 0;
for ($h = 0; $h < $sy; $h++) {
$data .= chr(0);
for ($w = 0; $w < $sx * 3; $w++) {
$data .= $pixels[$i2++];
}
}


// calculate a Adler32 checksum with the bytes data[start..len-1]
$s1 = 1;
$s2 = 0;
for ($n = $start; $n < strlen($data); $n++) {
$s1 = ($s1 + ord($data[$n])) % 65521;
$s2 = ($s2 + $s1) % 65521;
}
$adler = ($s2 << 16) | $s1;

$data .= chr(($adler >> 24) & 255);
$data .= chr(($adler >> 16) & 255);
$data .= chr(($adler >> 8) & 255);
$data .= chr($adler & 255);
add_chunk("IDAT");

// IEND: marks the end of the PNG-file
$data = "";
add_chunk("IEND");

// 列印圖象

echo($result);
?>

//如何調(diào)用,其實(shí)很簡(jiǎn)單,將上面存為Timeimg.php
//然后新建一個(gè)頁(yè)面如下:

<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html">
</head>
<body>
<img src="Timeimg.php"> //以圖象連接方式調(diào)用PHP文件
</body>
</html>

相關(guān)文章

  • php字符串截取的簡(jiǎn)單方法

    php字符串截取的簡(jiǎn)單方法

    這篇文章介紹了php字符串截取的簡(jiǎn)單方法,有需要的朋友可以參考一下
    2013-07-07
  • 淺談PHP7中的一些小技巧

    淺談PHP7中的一些小技巧

    PHP7顯著提高了整體性能。實(shí)際上主要的特性有null合并運(yùn)算符或返回類型聲明。如果你不知道它們,那么你應(yīng)該去查看PHP文檔。這里有一些很少人知道的、可能有用的特性。
    2021-05-05
  • 總結(jié)PHP內(nèi)存釋放以及垃圾回收

    總結(jié)PHP內(nèi)存釋放以及垃圾回收

    本篇文章給大家分享了關(guān)于PHP寫程序的小技巧,關(guān)于內(nèi)存釋放以及垃圾回收的相關(guān)問題,有興趣的朋友學(xué)習(xí)下。
    2018-03-03
  • php fread讀取文件注意事項(xiàng)

    php fread讀取文件注意事項(xiàng)

    php fread函數(shù)用于從文件中讀取一定長(zhǎng)度的字符,本文章向大家介紹fread讀取文件的實(shí)例以及使用該函數(shù)讀取文件需要注意的幾個(gè)地方,需要的朋友可以參考一下。
    2016-09-09
  • php 結(jié)果集的分頁(yè)實(shí)現(xiàn)代碼

    php 結(jié)果集的分頁(yè)實(shí)現(xiàn)代碼

    php結(jié)果集的分頁(yè),后面都有詳細(xì)的說明。最近的php將會(huì)讓你學(xué)到更多。
    2009-03-03
  • PHP MVC框架skymvc支持多文件上傳

    PHP MVC框架skymvc支持多文件上傳

    這篇文章主要為大家詳細(xì)介紹了php mvc框架skymvc文件上傳實(shí)現(xiàn)代碼,支持多文件上傳操作,感興趣的小伙伴們可以參考一下
    2016-05-05
  • PHP合并數(shù)組的2種方法小結(jié)

    PHP合并數(shù)組的2種方法小結(jié)

    大家都知道PHP中兩個(gè)數(shù)組合并可以使用+或者array_merge,但之間還是有區(qū)別的,而且這些區(qū)別如果了解不清楚項(xiàng)目中會(huì)要命的!這篇文章給加總結(jié)介紹了PHP合并數(shù)組的2種方法,有需要的朋友們可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11
  • 老生常談PHP位運(yùn)算的用途

    老生常談PHP位運(yùn)算的用途

    下面小編就為大家?guī)硪黄仙U凱HP位運(yùn)算的用途。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • 詳談php中 strtr 和 str_replace 的效率問題

    詳談php中 strtr 和 str_replace 的效率問題

    下面小編就為大家?guī)硪黄斦刾hp中 strtr 和 str_replace 的效率問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • WebQQ最新登陸協(xié)議的用法

    WebQQ最新登陸協(xié)議的用法

    這篇文章主要介紹了WebQQ最新登陸協(xié)議的用法,分析了WebQQ協(xié)議的原理與用法,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12

最新評(píng)論

天水市| 石渠县| 凤阳县| 宜城市| 信丰县| 蕲春县| 北安市| 天等县| 内乡县| 金门县| 阿拉善盟| 大悟县| 那曲县| 长泰县| 中山市| 额尔古纳市| 原平市| 林甸县| 雷山县| 巴楚县| 淮安市| 渝北区| 彰化县| 武邑县| 松溪县| 太仓市| 彭州市| 吉首市| 昌江| 土默特左旗| 鄂伦春自治旗| 余庆县| 昭苏县| 镇安县| 周至县| 华容县| 武平县| 周至县| 临沂市| 谢通门县| 志丹县|