Geocaching a statusbary – zoptimalizováno

Včera jsme si po třech letech geocachingu (kdo neví, o čem mluvím, tak tady najde přehršel informací) dopřáli ten luxus a zaplatili si roční předplatné premium účtu. Výhod je hned několik, ale pro mě nejpodstatnější je ta, že si můžu nastavit upozornění na nově vzniklé keše v okolí např. 10 km od domova a pak pořádat s obdobně postiženými kačery hony na tzv. FTF, neboli First The Find, což je kouzelná zkratka, za kterou by mnoho maniaků v dešti a sněhu jelo smykem přes půl města na sjetých letních gumách ve své škodě 110. Hned večer jsme si to vyzkoušeli na vlastní kola na nově vzniklé kešce nedaleko našeho bydliště. Adrenalin jak byk :-)

Když už je člověk premium členem, chce se nějak odlišit. A proč nezačít statusbarem. To je ikonka, jejíž kód si můžete nechat vygenerovat přímo serverem geocaching.com, ukazuje kolik kešek jste našli, kolik založili, odkazuje na váš profil a vypadá takto:

Profile for Krajzlici

Vyhovovala mi přesně tak dlouho, než jsem zjistil, že lze změnit. Na českém fóru o geocachingu se někdo zmínil o serveru devfolio.com, kde si můžete takový statusbar vygenerovat sami buď z dostupných obrázků, nebo autorovi zašlete vlastní, on je publikuje, až se vyspí a pak je máte k dispozici. Zkusmo jsem tam jeden poslal, abych službu otestoval. Opravdu to funguje.

Pak mě ale napadlo, co bude, až server devfolio.com třeba jednou zavře krám? Kam se podějou ty desítky či stovky tisíc statusbarů? Pokud máte vlastní server, není nic snažšího, než použít kód, který nabízím níže. Princip asi nemusím vysvětlovat. Jediné, co je třeba změnit, jsou odkazy na obrázky v proměnných url_img1, url_img2 a url_img3. Výsledkem je vygenerovaný PNG soubor, který vložíte do odkazu SRC značky IMG a hotovo. Snadné, což?

Kód je nyní optimalizován pro použití bez nutných úprav velikostí obrázků

<?
$url_img1 = "http://img.geocaching.com/stats/img.aspx?txt=+4+...";
//zde bude kód, který vyčteme ze stránky pro generování statusbaru na geocaching.com
$url_img2 = "http://geo.elka.cz/geo_czech.gif";  //sirka musi 48
$url_img3 = "http://geo.elka.cz/geo_netko.gif";  //sirka musi 48

list($sirkaObrazku1, $vyskaObrazku1) = getimagesize($url_img1);
list($sirkaObrazku2, $vyskaObrazku2) = getimagesize($url_img2);
list($sirkaObrazku3, $vyskaObrazku3) = getimagesize($url_img3);

//---- zjistime velikosti 3 obrazku
$obrazek1 = imagecreatefrompng($url_img1);
$obrazek2 = imagecreatefromgif($url_img2);
$obrazek3 = imagecreatefromgif($url_img3);

$vyska = $vyskaObrazku1;

//---- nastavime vychozi pevne hodnoty
$sirka_statusbaru_gc = 200; //nemenit!!!
$aktivni_sirka_statusbaru_gc = 152; //nemenit!!!
$sirka = $sirkaObrazku2 + $aktivni_sirka_statusbaru_gc + $sirkaObrazku3;

//--- vytvorime novy obrazek

$novyObrazek = imagecreatetruecolor($sirka, $vyska);

//---- a nakopirujeme do nej puvodni obrazky
imagecopy($novyObrazek, $obrazek1, $sirkaObrazku2, 0, $sirka_statusbaru_gc-$aktivni_sirka_statusbaru_gc, 0, $sirkaObrazku1, $vyskaObrazku1);
imagecopy($novyObrazek, $obrazek2, 1, vyskaObrazku1+1, 0, 0, $sirkaObrazku2, $vyskaObrazku2);
imagecopy($novyObrazek, $obrazek3, $aktivni_sirka_statusbaru_gc+$sirkaObrazku2-1, vyskaObrazku1+1, 0, 0, $sirkaObrazku3, $vyskaObrazku3);

//--- vyhodime obrazek na stránku
header("Content-Type:image/png");
imagepng($novyObrazek);
?>

Samotný skript v nějaké stránce pak použijete takto:

<img src="tady bude adresa toho skriptu" />

tedy v mém případě takto:

<img src="http://geo.elka.cz/geostat.php" />

A výsledek pak může vypadat třeba takto:

Krajzlici geocaching

Související články



This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.


4 komentářů k “Geocaching a statusbary – zoptimalizováno”

RSS ke komentářům tohoto článku RSS ke komentářům tohoto článku
  1. jf:

    Dobrý den,
    za znakem < by zřejmě neměla být mezera, možná by bylo dobré to opravit, aby paka jako já nemusela pět minut přemýšlet, co udělala špatně :-)

    [Odpovědět]

    eLKa odpovídá Březen 5th, 2008:

    Opraveno. Omlouvám se za Wordpress :-) Bestyje si usmyslela, že do článku prostě zobák a otazník nepatří. Taky jsem to mohl rovnou napsat jako entitu, že :-)

    [Odpovědět]

  2. Mejstro:

    Ahoj.
    Moc pekne :-) . Neslo by tam nejakym zpusobem pridat i pozadi?
    Diky za odpoved.

    [Odpovědět]

  3. nasud:

    Dobrý den,
    měl jsem s vytvářením status baru trochu problémy, komentář ve skriptku by měl asi být u URL obrázku: //viska musí 48px
    a fungovaly mě jen obrázky s příponou .GIF, png jsem nezkoušel.

    Pak jsem si dovolil použít Vaši krásnou mapku, tak kdyby to vadilo, dejte vědět.

    Jinak móóóóc děkuji za skript je to super.
    S pozdravem nasud

    [Odpovědět]

RSS ke komentářům tohoto článku RSS ke komentářům tohoto článku

Napište komentář

kolik je pět + sedm ? (zapište číslem)

Upozornění:
Tento weblog píše skutečná osoba, jejíž internetová identita se skrývá za přezdívkou eLKa. Ačkoli to zní jako ženská přezdívka, není tomu tak. Pokud není uvedeno jinak, názory a postřehy zde prezentované jsou osobními názory autora. Někomu se mohou a někomu nemusí líbit. Autorovi je to jedno. Pokud máte nějakou konstruktivní připomínku k tématu článku, napište ji do komentářů. Vulgární názory budou vyretušovány. Pokud máte jakoukoli připomínku, či názor k osobě autora, který se netýká článku, nepište jej do komentářů, protože s největší pravděpodobností bude smazán. Chcete-li autorovi napsat, využijte odkazu KONTAKT v menu nahoře, případně ti všímavější mohou kliknout rovnou na to zvýrazněné slovo v předešlé části věty. Děkuji za pochopení.
Pokud se vám tady líbí, můžete autorovi přispět almužničkou na důchodové připojištění. Můžete k tomu použít ikonu pod tímto textem. Předem děkuji.