First (re-)commit
145
images/inu/7sd.php
Normal file
@@ -0,0 +1,145 @@
|
||||
<?php
|
||||
|
||||
$height = 8;
|
||||
$charwidth = 6;
|
||||
|
||||
$charlist = array(
|
||||
0x20 => 0x00, // (space)
|
||||
0x22 => 0x22, // "
|
||||
0x27 => 0x02, // '
|
||||
0x2D => 0x40, // -
|
||||
0x10, // .
|
||||
0x30 => 0x3F, // 0
|
||||
0x06, // 1
|
||||
0x5B, // 2
|
||||
0x4F, // 3
|
||||
0x66, // 4
|
||||
0x6D, // 5
|
||||
0x7D, // 6
|
||||
0x07, // 7
|
||||
0x7F, // 8
|
||||
0x6F, // 9
|
||||
0x3D => 0x48, // =
|
||||
0x41 => 0x77, // A
|
||||
0x7C, // b
|
||||
0x39, // C
|
||||
0x5E, // d
|
||||
0x79, // E
|
||||
0x71, // F
|
||||
0x3D, // G
|
||||
0x76, // H
|
||||
0x30, // I
|
||||
0x1E, // J
|
||||
0x7A, // K
|
||||
0x38, // L
|
||||
0x55, // m
|
||||
0x37, // N
|
||||
0x5C, // o
|
||||
0x73, // P
|
||||
0x67, // q
|
||||
0x50, // r
|
||||
0x64, // s
|
||||
0x78, // t
|
||||
0x3E, // U
|
||||
0x2A, // V
|
||||
0x6A, // W
|
||||
0x49, // x
|
||||
0x6E, // y
|
||||
0x52, // z
|
||||
0x5F => 0x08, // _
|
||||
);
|
||||
|
||||
$shiftt = array();
|
||||
$shifts = array();
|
||||
$final = array();
|
||||
|
||||
if ($_GET['raw']) {
|
||||
$code = intval($_GET['raw']);
|
||||
$raw = true;
|
||||
}
|
||||
else if ($_GET['s']) $string = strtoupper($_GET['s']);
|
||||
else $string = '01234 56789 ABCDE FGHIJ KLMNO PQRST UVWXY Z';
|
||||
|
||||
if (!$raw) {
|
||||
$ssplit = str_split($string);
|
||||
$i = 0;
|
||||
while ($i < 200 && ($chr = array_shift($ssplit)) !== NULL) {
|
||||
if ($chr == '>') {
|
||||
$r = hexdec(array_shift($ssplit)) * 17;
|
||||
$g = hexdec(array_shift($ssplit)) * 17;
|
||||
$b = hexdec(array_shift($ssplit)) * 17;
|
||||
$shiftt[$i] = array($r, $g, $b);
|
||||
}
|
||||
elseif (array_key_exists(ord($chr), $charlist))
|
||||
$final[$i++] = ord($chr);
|
||||
}
|
||||
}
|
||||
$strlen = ($raw) ? 1 : count($final);
|
||||
|
||||
$im = @imagecreatetruecolor($strlen*$charwidth, $height) or die('oops, no image.');
|
||||
$black = imagecolorallocate($im, 0, 0, 1);
|
||||
imagefill($im, 0, 0, $black);
|
||||
imagecolortransparent($im, $black);
|
||||
$shadow = imagecolorallocate($im, 0, 0, 0);
|
||||
|
||||
$cl = imagecolorallocate($im, 0, 255, 0);
|
||||
|
||||
if ($raw) {
|
||||
placeshadow($code, 0);
|
||||
place7sd($code, 0);
|
||||
|
||||
header("Content-Type: image/png");
|
||||
imagepng($im);
|
||||
imagedestroy($im);
|
||||
die();
|
||||
}
|
||||
|
||||
foreach ($shiftt as $p => $s)
|
||||
$shifts[$p] = imagecolorallocate($im, $s[0], $s[1], $s[2]);
|
||||
|
||||
for ($i = 0; $i < $strlen; ++$i) {
|
||||
if (array_key_exists($i, $shifts)) $cl = $shifts[$i];
|
||||
$chr = $charlist[$final[$i]];
|
||||
placeshadow($chr, $i);
|
||||
place7sd($chr, $i);
|
||||
}
|
||||
|
||||
header("Content-Type: image/png");
|
||||
imagepng($im);
|
||||
imagedestroy($im);
|
||||
|
||||
function place7sd($lights, $w) {
|
||||
global $im, $cl, $charwidth;
|
||||
$w *= $charwidth;
|
||||
for ($i = 0x01; $i < 0x80; $i<<=1) {
|
||||
if ($lights & $i) switch ($i) {
|
||||
case 0x01: imageline($im, $w + 1, 0, $w + 2, 0, $cl); break; //seg a
|
||||
case 0x02: imageline($im, $w + 3, 1, $w + 3, 2, $cl); break; //seg b
|
||||
case 0x04: imageline($im, $w + 3, 4, $w + 3, 5, $cl); break; //seg c
|
||||
case 0x08: imageline($im, $w + 1, 6, $w + 2, 6, $cl); break; //seg d
|
||||
case 0x10: imageline($im, $w, 4, $w, 5, $cl); break; //seg e
|
||||
case 0x20: imageline($im, $w, 1, $w, 2, $cl); break; //seg f
|
||||
case 0x40: imageline($im, $w + 1, 3, $w + 2, 3, $cl); break; //seg g
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function placeshadow($lights, $w) {
|
||||
global $im, $cl, $charwidth;
|
||||
$w *= $charwidth;
|
||||
for ($i = 0x01; $i < 0x80; $i<<=1) {
|
||||
if ($lights & $i) switch ($i) {
|
||||
case 0x01: imageline($im, $w + 2, 1, $w + 3, 1, $shadow); break; //seg a
|
||||
case 0x02: imageline($im, $w + 4, 2, $w + 4, 3, $shadow); break; //seg b
|
||||
case 0x04: imageline($im, $w + 4, 5, $w + 4, 6, $shadow); break; //seg c
|
||||
case 0x08: imageline($im, $w + 2, 7, $w + 3, 7, $shadow); break; //seg d
|
||||
case 0x10: imageline($im, $w + 1, 5, $w + 1, 6, $shadow); break; //seg e
|
||||
case 0x20: imageline($im, $w + 1, 2, $w + 1, 3, $shadow); break; //seg f
|
||||
case 0x40: imageline($im, $w + 2, 4, $w + 3, 4, $shadow); break; //seg g
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
BIN
images/inu/cifont/0.gif
Normal file
After Width: | Height: | Size: 65 B |
BIN
images/inu/cifont/1.gif
Normal file
After Width: | Height: | Size: 64 B |
BIN
images/inu/cifont/2.gif
Normal file
After Width: | Height: | Size: 66 B |
BIN
images/inu/cifont/3.gif
Normal file
After Width: | Height: | Size: 66 B |
BIN
images/inu/cifont/4.gif
Normal file
After Width: | Height: | Size: 65 B |
BIN
images/inu/cifont/5.gif
Normal file
After Width: | Height: | Size: 64 B |
BIN
images/inu/cifont/6.gif
Normal file
After Width: | Height: | Size: 65 B |
BIN
images/inu/cifont/7.gif
Normal file
After Width: | Height: | Size: 64 B |
BIN
images/inu/cifont/8.gif
Normal file
After Width: | Height: | Size: 64 B |
BIN
images/inu/cifont/9.gif
Normal file
After Width: | Height: | Size: 65 B |
BIN
images/inu/cifont/a.gif
Normal file
After Width: | Height: | Size: 65 B |
BIN
images/inu/cifont/b.gif
Normal file
After Width: | Height: | Size: 65 B |
BIN
images/inu/cifont/c.gif
Normal file
After Width: | Height: | Size: 67 B |
BIN
images/inu/cifont/d.gif
Normal file
After Width: | Height: | Size: 64 B |
BIN
images/inu/cifont/e.gif
Normal file
After Width: | Height: | Size: 64 B |
BIN
images/inu/cifont/f.gif
Normal file
After Width: | Height: | Size: 64 B |
BIN
images/inu/cifont/p.gif
Normal file
After Width: | Height: | Size: 65 B |
BIN
images/inu/cifont/t.gif
Normal file
After Width: | Height: | Size: 64 B |