/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hvordan laver man et analogt ur i PHP?
Fra : Bertel Lund Hansen


Dato : 01-12-06 17:09

Hej alle

Jeg er ved at lære spansk og laver derfor nogle
træningsprogrammer - ikke noget pædagogisk ophidsende, men gode
slavetræningsopgaver.

For at træne klokken vil jeg gerne vise et ur. Det er nemt nok at
lave et digital visning, men hvordan laver jeg en analog visning
af et klokkeslet?

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

 
 
Sune Storgaard (01-12-2006)
Kommentar
Fra : Sune Storgaard


Dato : 01-12-06 17:41

Bertel Lund Hansen skrev:
>
> For at træne klokken vil jeg gerne vise et ur. Det er nemt nok at
> lave et digital visning, men hvordan laver jeg en analog visning
> af et klokkeslet?


Jeg ville benytte mig af GD såfremt det er tilgængeligt.
http://dk2.php.net/gd

Der er et simpelt eksempel til at tegne en linje her:
http://www.plus2net.com/php_tutorial/gd-line1.php

Resten må være et mere eller mindre trivielt spørgsmål om sin/cos .

Du kender sikkert myresnak, det er noget i den stil :)


--
It's what happens when Alex Trebek has a picture of a giraffe
in his ass during an earthquake ! [The Tourettes guy]



Peter Brodersen (01-12-2006)
Kommentar
Fra : Peter Brodersen


Dato : 01-12-06 17:48

On Fri, 1 Dec 2006 17:08:40 +0100, Bertel Lund Hansen
<unospamo@lundhansen.dk> wrote:

>For at træne klokken vil jeg gerne vise et ur. Det er nemt nok at
>lave et digital visning, men hvordan laver jeg en analog visning
>af et klokkeslet?

Kig på billed-funktionerne:
http://php.net/image

Du kan starte med at skabe et billede med imagecreatetruecolor().

Derefter definerer du nogle farver med imagecolorallocate().

Så kan du tegne en urskive med imagefilledellipse() og sætte nogle
streger hele vejen rundt med imageline() og lidt matematik.

Derefter kan du så tegne nogle visere med fx imagefilledpolygon() (for
at tegne en trekant) eller for den sags skyld imagefilledarc() for at
lade din viser have form som et tyndt stykke lagkage.

Du kan også tilføje lidt tekst på billedet med imagettftext(), hvor du
henviser til en TrueType-fontfil.

Til sidst outputter du så resultatet ved først at sætte en passende
HTTP-header med header() og så afvikle en kommando til at generere
billedet til en bestemt billedformat (der tilsvarer headeren), fx JPEG
med imagejpeg().

Når du arbejder og tester, kan du starte helt basalt, og så tilføje
kode "i midten" for at se ændringerne. Altså, start fx med:

<?php
$im = imagecreatetruecolor(500,500);

// tilføj mere kode her

// output
header("Content-Type: image/jpeg");
imagejpeg($im);
?>

... og tilføj så kode stille og roligt undervejs:

<?php
$im = imagecreatetruecolor(500,500);

$yellow = imagecolorallocate($im, 255, 240, 0);
imagefilledellipse($im, 250, 250, 400, 400, $yellow);

// tilføj mere kode her

// output
header("Content-Type: image/jpeg");
imagejpeg($im);
?>

... og så fremdeles.

Men ellers tror jeg, du kan google dig til PHP-kode, der genererer
urskive-billede.

(og så et lille hint: klokkeslæt, ikke klokkeslet)
--
- Peter Brodersen
Kendt fra Internet

Martin (02-12-2006)
Kommentar
Fra : Martin


Dato : 02-12-06 00:14

Peter Brodersen wrote:
> On Fri, 1 Dec 2006 17:08:40 +0100, Bertel Lund Hansen
> <unospamo@lundhansen.dk> wrote:
>
>> For at træne klokken vil jeg gerne vise et ur. Det er nemt nok at
>> lave et digital visning, men hvordan laver jeg en analog visning
>> af et klokkeslet?
>
> Kig på billed-funktionerne:
> http://php.net/image

[SNIP]

Med en rigtig god forklaring fra Peter - så skal det lige nævnes at du
ikke vil kunne få din viser til at gå - uden at trykke på opdater i din
browser. Hvis du også vil have viserne til at gå - så skal du have fat i
noget javascript (meta redirect) som opdater siden hvert sekund. Eller
bruge AJAX til at opdater php filen "usynligt".

Men start bare med at få vist hvad klokken er - så kan vi (og andre)
måske hjælpe med at få uret til også at kunne tikke :)

Denne artikel kan måske hjælpe en lille smule
<http://udvikleren.dk/PHP/Article.aspx/177/>

Bertel Lund Hansen (02-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 02-12-06 00:50

Martin skrev:

> Med en rigtig god forklaring fra Peter - så skal det lige nævnes at du
> ikke vil kunne få din viser til at gå - uden at trykke på opdater i din
> browser.

Det er helt fint. Det er jo et træningsprogram, og det er nok
lidt hidsigt at udsætte nybegyndere for at uret går mens de er
ved at finde ud af hvad klokken er på spansk.

Meningen er at jeg viser et klokkeslet og så skriver man på
spansk hvad klokken er og trykker på [submit].

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Bertel Lund Hansen (07-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 07-12-06 00:57

Peter Brodersen skrev:

> Kig på billed-funktionerne:
> http://php.net/image

Tak for hjælpen til alle. Jeg har nu et fingerende ur (kode
snuppet fra Birger Nielsen) og mangler bare at opbygge opgaverne
med det.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Stig Johansen (02-12-2006)
Kommentar
Fra : Stig Johansen


Dato : 02-12-06 06:02

Bertel Lund Hansen wrote:

> Hej alle
>
> Jeg er ved at lære spansk og laver derfor nogle
> træningsprogrammer - ikke noget pædagogisk ophidsende, men gode
> slavetræningsopgaver.
>
> For at træne klokken vil jeg gerne vise et ur. Det er nemt nok at
> lave et digital visning, men hvordan laver jeg en analog visning
> af et klokkeslet?

Nu har du fået hints om at generere et billede.
Men du kunne jo også overveje at lave det i SVG.
Det er efterhånden en del år siden jeg sidst rodede med SVG, og jeg syntes
ikke understøttelsen/udbredelsen var særlig god - men det kan jo være
blevet bedre siden.

--
Med venlig hilsen
Stig Johansen

Stig Johansen (02-12-2006)
Kommentar
Fra : Stig Johansen


Dato : 02-12-06 06:05

Stig Johansen wrote:

> Det er efterhånden en del år siden jeg sidst rodede med SVG, og jeg syntes
> ikke understøttelsen/udbredelsen var særlig god - men det kan jo være
> blevet bedre siden.

Jeg må hellere lige præcisere, at det er browserne, og ikke PHP, jeg taler
om.

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste