亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2008年09月28日 14:40:24   作者:  
該程序是不用GD庫可以生成當(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");

// 以下不敢亂翻譯,請自行參考
// 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í)很簡單,將上面存為Timeimg.php
//然后新建一個(gè)頁面如下:

<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實(shí)現(xiàn)對兩個(gè)數(shù)組進(jìn)行減法操作的方法

    php實(shí)現(xiàn)對兩個(gè)數(shù)組進(jìn)行減法操作的方法

    這篇文章主要介紹了php實(shí)現(xiàn)對兩個(gè)數(shù)組進(jìn)行減法操作的方法,涉及php操作數(shù)組的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • PHP實(shí)現(xiàn)多維數(shù)組多字段自定義排序

    PHP實(shí)現(xiàn)多維數(shù)組多字段自定義排序

    這篇文章主要介紹了PHP實(shí)現(xiàn)多維數(shù)組多字段自定義排序,通過將待排序數(shù)組的各個(gè)數(shù)組的$field保存在一維數(shù)組fieldArr中,在傳入array_multisort中參與排序,相當(dāng)于對$field一維數(shù)組的排序,而后根據(jù)排序后的key重新構(gòu)建傳入的待排序數(shù)組,需要的朋友可以參考下
    2023-10-10
  • 實(shí)例分析php常量和變量的不同

    實(shí)例分析php常量和變量的不同

    在本篇文章里小編給大家整理的是一篇關(guān)于實(shí)例分析php常量和變量的不同的知識點(diǎn)文章,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2021-07-07
  • php彈出對話框?qū)崿F(xiàn)重定向代碼

    php彈出對話框?qū)崿F(xiàn)重定向代碼

    本為大家介紹下使用php或js彈出對話框?qū)崿F(xiàn)重定向,具體示例如下,感興趣的朋友不要錯(cuò)過
    2014-01-01
  • PHP讀取TXT文本內(nèi)容的五種實(shí)用方法小結(jié)

    PHP讀取TXT文本內(nèi)容的五種實(shí)用方法小結(jié)

    PHP作為一種流行的服務(wù)器端腳本語言,提供了多種方法來讀取TXT文本內(nèi)容,本文主要為大家詳細(xì)介紹五種不同的PHP方法,希望對大家有所幫助
    2024-01-01
  • php和C#的yield迭代器實(shí)現(xiàn)方法對比分析

    php和C#的yield迭代器實(shí)現(xiàn)方法對比分析

    這篇文章主要介紹了php和C#的yield迭代器實(shí)現(xiàn)方法,簡單說明了yield迭代器的原理,并結(jié)合具體實(shí)例形式對比分析了php和C#的yield迭代器相關(guān)使用技巧,需要的朋友可以參考下
    2019-07-07
  • php中eval函數(shù)的危害與正確禁用方法

    php中eval函數(shù)的危害與正確禁用方法

    這篇文章主要介紹了php中eval函數(shù)的危害與正確禁用方法,需要的朋友可以參考下
    2014-06-06
  • PHP中單引號與雙引號的區(qū)別分析

    PHP中單引號與雙引號的區(qū)別分析

    在PHP中,我們可以使用單引號或者雙引號來表示字符串。不過我們作為開發(fā)者,應(yīng)該了解其中的區(qū)別。單引號與雙引號對于定義字符一個(gè)是可以解析變量一個(gè)是會把變量直接輸出來,同時(shí)單引號與雙引號在字符處理上單引號要優(yōu)與雙引號
    2014-08-08
  • 解析PHP觀察者模式Observer

    解析PHP觀察者模式Observer

    Observer,首先要有一個(gè)被觀察的角色,但它是【唯一的】。雖然"表演者"只有一個(gè)但是"觀眾"有很多,既一群"人"圍觀一個(gè)"人"。既然有無數(shù)個(gè)觀察者,那么我們需要知道都有哪一些"人"。所以我們需要一個(gè)“容器”來記錄這些"人",一個(gè)類似于數(shù)組一樣來儲存所有觀察者的容器。
    2021-05-05
  • 淺析SVN常見問題及解決方法

    淺析SVN常見問題及解決方法

    本篇文章是對SVN常見問題及解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評論