Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 22 Май, 2012, 11:55:39

Страниц: [1]
Печать
Автор Тема: Графические часы на PHP  (Прочитано 2236 раз)
0 Пользователей и 1 Гость смотрят эту тему.
welder    ↓ 
22 Август, 2007, 02:28:17
НЕ ХУЕТА! ХУЕТА!

пыха рулит
Группа: в ухо

Карма: 84
Сообщений: 2923
Сила слова: 2.87

PHP

<?php
 
$kvadrat =200;
 

function Arrow ($image,$Time,$Divider,$color) {
GLOBAL $kvadrat,$center;
    $alpha = (360/$Divider)*$Time;
    $length = ($kvadrat/2) - 45;
    $alpha = deg2rad($alpha);
    $x2 = $center + sin($alpha)*$length;
    $y2 = $center - cos($alpha) *$length;
    imageline ($image, $center, $center, $x2, $y2,$color);
}
 
function Digital_panel ($image){
GLOBAL $kvadrat,$center;
    for($value=1; $value<=12; $value++) {
        $length = ($kvadrat/2) - 20;
        $alpha = (360/12)*$value;
        $alpha = deg2rad($alpha);
        $x2 = $center + sin($alpha)*$length;
        $y2 = $center - cos($alpha)*$length;
        $font = (preg_match ("/3|6|9|12/",$value))?3:1;
        imagestring($image, $font,$x2-3,$y2-5, $value, 0xFFFFFF);
    }
}
 
function Points_panel ($image){
GLOBAL $kvadrat,$center;
     for($value=1; $value<=60; $value++) {
        $length = ($kvadrat/2) - 33;
        $alpha = (360/60)*$value;
        $alpha = deg2rad($alpha);
        $x2 = $center + sin($alpha)*$length;
        $y2 = $center - cos($alpha)*$length;
        $color = 0xc0ff00;
        $plus = 1;
        if (ereg("5$|10|20|25|35|40|50|55",$value)) { $color = 0xc06000;$plus = 2;}
        if (ereg("15|30|45|60",$value)) {$color = 0xc00000;$plus = 3;}
        imagefilledrectangle ($image, $x2, $y2, $x2+$plus, $y2+$plus,$color);
    }
}
 
 
$center = ($kvadrat/2);
 
header("Content-type: image/png");
$image = imagecreatetruecolor($kvadrat,$kvadrat);
imagefill($image, 0, 0, 0x000000);
 
//час
Arrow ($image,date("g"),12,0xc00000);
//минуты
Arrow ($image,date("i"),60,0xc06000);
//секунды
Arrow ($image,date("s"),60,0xc0ff00);
 
Digital_panel($image);
Points_panel($image);
 
//вывод
imagepng($image);
imagedestroy($image);
 
 
?>
 



Пример работы http://www.welder.host-expert.com/hlam/time.php
 


« Последнее редактирование: 22 Август, 2007, 02:35:48 от welder » Записан

unikom    ↓ 
30 Ноябрь, 2007, 02:39:19 , спустя 100 дней 1 час 11 минут 2 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 43
Сила слова: 0

Бесполезно, но прикольно))
Записан
welder    ↓ 
03 Декабрь, 2007, 09:20:04 , спустя 2 дня 18 часов 40 минут 45 секунд
НЕ ХУЕТА! ХУЕТА!

пыха рулит
Группа: в ухо

Карма: 84
Сообщений: 2923
Сила слова: 2.87

согласен :) делал просто этот скрипт наспор с дезигнером. выикрал ясчук пива
Записан

KENDO    ↓ 
05 Декабрь, 2007, 08:20:27 , спустя 2 дня 11 часов 23 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 10
Сообщений: 444
Сила слова: 2.25

На самом деле неплохо смотрится ;-)
Побное видел на вап-сайтах, только в миниатюре
Записан
Страниц: [1]
Печать
 

Перейти в: