Morpheusweb.it - Risorse per webmaster: script, ASP.NET, C#, Visual Basic .Net, tutorial, asp, javascript, css, php, html, java, ADO, VBScript, forms, frames, Active Server Pages, Dynamic HTML, database, gratis per webmaster e webdesigner

Orologio

Orologio digitale. Le immagini vengono generate al volo dallo script.




<?php
function set_4pixel($r, $g, $b, $x, $y) {
    global $sx, $sy, $pixels;
    $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;
    $len = strlen($data);
    $chunk = pack("c*", ($len >> 24) & 255,
    ($len >> 16) & 255,
    ($len >> 8) & 255,
    $len & 255);
    $chunk .= $type;
    $chunk .= $data;
    $z = 16777215;
    $z |= 255 << 24;
    $c = $z;
    for ($n = 4; $n < strlen($chunk); $n++) {
        $c8 = ($c >> 8) & 0xffffff;
        $c = $crc_table[($c ^ ord($chunk[$n])) & 0xff] ^ $c8;
    }
    $crc = $c ^ $z;
    $chunk .= chr(($crc >> 24) & 255);
    $chunk .= chr(($crc >> 16) & 255);
    $chunk .= chr(($crc >> 8) & 255);
    $chunk .= chr($crc & 255);
    $result .= $chunk;
}
$sx = 80;
$sy = 21;
$pixels = "";
for ($h = 0; $h < $sy; $h++) {
    for ($w = 0; $w < $sx; $w++) {
        $r = 100 / $sx * $w + 155;
        $g = 100 / $sy * $h + 155;
        $b = 255 - (100 / ($sx + $sy) * ($w + $h));
        $pixels .= chr($r);
        $pixels .= chr($g);
        $pixels .= chr($b);
    }
}

$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);
$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;
}
$result = pack("c*", 137,80,78,71,13,10,26,10);
$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");
$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++];
    }
}
$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");
$data = "";
add_chunk("IEND");
header("Content-type: image/png");
print($result);
?>


Scarica il Codice...


Stampa la pagina


 








Inizio pagina

risorse per webmaster

php

php

php, mail, database, banner
php, banner,

Vai nel sito Morpheusweb.it - Risorse per Webmaster troverai quello che stai cercando
php, banner,
Nel nostro sito molte informazioni: "Morpheusweb.it - Risorse per Webmaster" tratta di php, script, forms, mail, database
click here se non sei reindirizzato automaticamente al nostro sito.

php, script, banner, mail, database, , ,