11.23
Ostatnio wiele osób prosi mnie o źródła niektórych projektów/skryptów. Wychodzę wam na przeciw i oto:
źródła zawierające standardowy zestaw emotikon z AQQ. Na pewno wiele da się poprawić w tym skrypcie więc proszę o komentarze :)
czyli generowanie w PHP za pomocą biblioteki GD prostego wskaźnika postępu. Kod jest krótki a wygląda tak:
[php]
/*
Parametry:
+---+---------------------------------------
|p | (WYMAGANY) procent od 0 do 100
+---+---------------------------------------
|w | szerokosc
+---+---------------------------------------
|h | wysokosc
+---+---------------------------------------
|bg | kolor tla w formacie hex RRGGBB
+---+---------------------------------------
|fg | kolor paska i ramki w formacie hex RRGGBB
+---+---------------------------------------
*/
$max_w = 200; // Maksymalna szerokosc
$max_h = 50; // Maksymalna wysokosc
$def_w = 100; // Domyslna szerokosc
$def_h = 10; // Domyslna wysokosc
$def_bg = "FFFFFF"; // Domyslny kolor tla
$def_fg = "000000"; // Domyslny kolor paska i ramki
// Alokuje kolor w formacie hex RRGGBB
function allocate_col($image, $color_hex) {
if (strlen($color_hex)==6) {
$col_r = hexdec(substr($color_hex, 0 ,2));
$col_g = hexdec(substr($color_hex, 2 ,2));
$col_b = hexdec(substr($color_hex, 4 ,2));
return imagecolorallocate($image, $col_r, $col_g, $col_b);
} else
return 0;
}
header ("Content-type: image/jpg");
if (isset($_GET['p'])) {
$percent = $_GET['p'];
if (isset($_GET['w'])) $im_w = $_GET['w'];
else $im_w = $def_w;
if ($im_w > $max_w) $im_w = $max_w;
if ($im_h > $max_h) $im_h = $max_h;
if (isset($_GET['h'])) $im_h = $_GET['h'];
else $im_h = $def_h;
$im = @imagecreatetruecolor($im_w, $im_h)
or die(“Cannot Initialize new GD image stream”);
if (isset($_GET['bg'])) $col_bg = allocate_col($im, $_GET['bg']);
else $col_bg = allocate_col($im, $def_bg);
if (isset($_GET['fg'])) $col_fg = allocate_col($im, $_GET['fg']);
else $col_fg = allocate_col($im, $def_fg);
imagefill($im, 0, 0, $col_bg);
imagerectangle($im, 0, 0, $im_w-1, $im_h-1, $col_fg);
if ($percent < 0 || $percent > 100) $percent = 0;
$percent_w = round(($percent * $im_w) / 100);
imagefilledrectangle($im, 0, 0, $percent_w-1, $im_h-1, $col_fg);
} else {
$im = @imagecreatetruecolor($def_w, $def_h)
or die(“Cannot Initialize new GD image stream”);
$col_bg = allocate_col($im, $def_bg);
$col_fg = allocate_col($im, $def_fg);
imagefill($im, 0, 0, $col_bg);
imagerectangle($im, 0, 0, $def_w-1, $def_h-1, $col_fg);
}
imagejpeg($im);
imagedestroy($im);
?>
[/php]
No Comment.
Add Your Comment