Banneri

Aloittaja weatherc, keskiviikko, 10.11.2010, 20:41

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

weatherc

Lainaa
Komian bannerin Snowi pläjäyttänyt pöytään.

Niin onkin!

LainaaOnko muuten sinulla VP:n ennuste käytössä kun bannerissa ja NWN:sä näkyy noita hiutaleita eikä moon?

Tarkistappa TNET:n parserilla mitä clientraw antaa ulos riviltä 048 ;)
Meikäläisellä se antaa 1 (Clear night).

Snowi

Lainaus käyttäjältä: teutari - keskiviikko, 10.11.2010, 20:35
Komian bannerin Snowi pläjäyttänyt pöytään.
Onko muuten sinulla VP:n ennuste käytössä kun bannerissa ja NWN:sä näkyy noita hiutaleita eikä moon?

Kiitos kiitos  :). Vihdoinkin sain tuon bannerin tehtyä, kun on ollut se jo suunnitelmissa siitä asti, kun sain sivut pystyyn.

Minulla on käytössä tuo clientrawin 48 numero ja se antaa nyt ulos "14 (Night Rain)". En ole varma onko tämä nyt se, jonka "pitäisi" näyttää tämän hetkinen säätilanne, mutta ei täällä kyllä lumi- eikä vesisateesta ole nyt tietoakaan. Toisaalta clientrawista löytyy myös ennuste numerolla 15, joten luulisi tämän 48:n tarkoittavan tämän hetkistä säätä. Tosin mulla näyttää molemmat, sekä 15 että 48 samaa säätilannetta, joka on kyllä vähän erikoista.
Oli muuten aivan pakollinen tuo Tnetin parseri. Nimittäin mahdotonhan noita on muuten tietää  :)

En tiedä onko bannerin tekemiseen mitään suoraa ohjetta. Mutta itsellä on koneella wamp-serveri, jolla ajan tuota skriptiä, joka lisää tuohon bannerikuvaan nuo säätiedot ja sääikonin.
Itse skriptin muokkasin weatherc:n tekemästä sääkameraskriptistä, mutta aivan alkuperäinen banneriskripti löytyy täältä, aivan alin linkki: http://scripts.anolecomputer.com/download.shtml

Mutta ei varmaan kauheesti auta, jos aivan rautalankaohjeet haluaisit. Itsekin sain vähän taistella tuon kanssa kun muokkasin tuota skriptiä. Vaikeinta oli saada sääikonit ja tuuli-ikonit tuohon banneriin. Mutta kyllä se sitten lopulta onnistui  :)
Hyvä juttu tässä omassa skriptissä, minkä muokkasin tuosta weatherc:n sääkameraskriptistä on se, että se on huomattavasti pienempi kuin tuo alkuperäinen wxgraphic-skripti.
Bannerin pieni kolmiulotteisuus on puolestaan tehty photoshopilla  :)




weatherc

#2
LainaaMenee hiukan ohi aiheesta mutta onko Halikkoon haettu omenalaatikko?

Häh?  ;D

LainaaEn tiedä onko bannerin tekemiseen mitään suoraa ohjetta. Mutta itsellä on koneella wamp-serveri, jolla ajan tuota skriptiä, joka lisää tuohon bannerikuvaan nuo säätiedot ja sääikonin.
Itse skriptin muokkasin weatherc:n tekemästä sääkameraskriptistä, mutta aivan alkuperäinen banneriskripti löytyy täältä, aivan alin linkki: http://scripts.anolecomputer.com/download.shtml

Tuo Snowin "riisuttu versio" Anolen skriptistä olisi aikas hyvä pohja kyllä helppoon banneriin koska siinä on turhat siivottu pois, mitä taas Anolen skriptissä on joka on kaiken kukkuraksi aika sekava jos haluaa muokata sitä.
Noissa valmiissa skripteissä pakkaa pukkaamaan se ongelma kun on niin montaa ei vaihtoehtoja että tuloksena julmetun kasa koodia joka on "turhaa".

Snowi

#3
Tämmönen tuo mun skripti tuosta banneriskriptistä on:

<?php
date_default_timezone_set
("Europe/Helsinki");

# what is the root of your files?
$basedir "banneri";

$clientrawfile "D:\Weather Display logfiles\clientraw.txt";
$clientraw get_raw($clientrawfile);
$font="tahomabd.ttf";

$temp $clientraw[4]." °C";
$hum $clientraw[5]." %";
$baro $clientraw[6]." hPa";
$barotrend $clientraw[50]." hPa";
$gust ktsToMph($clientraw[2],1). " m/s";
$wind ktsToMph($clientraw[158],1). " m/s";
$rain $clientraw[7]." mm";
$windimg windDir($clientraw[117]);
$weatherimg $clientraw[48];

switch (
true) {  
     case (
$windimg == "N"): $icon "wind_icons/N.png"; break;
     case (
$windimg == "NNE"): $icon "wind_icons/NNE.png"; break;
     case (
$windimg == "NE"): $icon "wind_icons/NE.png"; break;
     case (
$windimg == "ENE"): $icon "wind_icons/ENE.png"; break;
 case ($windimg == "E"): $icon "wind_icons/E.png"; break;
     case (
$windimg == "ESE"): $icon "wind_icons/ESE.png"; break;
     case (
$windimg == "SE"): $icon "wind_icons/SE.png"; break;
     case (
$windimg == "SSE"): $icon "wind_icons/SSE.png"; break;
 case ($windimg == "S"): $icon "wind_icons/S.png"; break;
     case (
$windimg == "SSW"): $icon "wind_icons/SSW.png"; break;
     case (
$windimg == "SW"): $icon "wind_icons/SW.png"; break;
     case (
$windimg == "WSW"): $icon "wind_icons/WSW.png"; break;
 case ($windimg == "W"): $icon "wind_icons/W.png"; break;
     case (
$windimg == "WNN"): $icon "wind_icons/WNN.png"; break;
     case (
$windimg == "NW"): $icon "wind_icons/NW.png"; break;
     case (
$windimg == "NNW"): $icon "wind_icons/NNW.png"; break;
}
switch (
true) {
 case ($weatherimg == 0): $icon2 "weather_icons/0.png"; break;
     case (
$weatherimg == 1): $icon2 "weather_icons/1.png"; break;
     case (
$weatherimg == 2): $icon2 "weather_icons/2.png"; break;
     case (
$weatherimg == 3): $icon2 "weather_icons/3.png"; break;
 case ($weatherimg == 4): $icon2 "weather_icons/4.png"; break;
     case (
$weatherimg == 5): $icon2 "weather_icons/5.png"; break;
     case (
$weatherimg == 6): $icon2 "weather_icons/6.png"; break;
     case (
$weatherimg == 7): $icon2 "weather_icons/7.png"; break;
 case ($weatherimg == 8): $icon2 "weather_icons/8.png"; break;
     case (
$weatherimg == 9): $icon2 "weather_icons/9.png"; break;
     case (
$weatherimg == 10): $icon2 "weather_icons/10.png"; break;
     case (
$weatherimg == 11): $icon2 "weather_icons/11.png"; break;
 case ($weatherimg == 12): $icon2 "weather_icons/12.png"; break;
     case (
$weatherimg == 13): $icon2 "weather_icons/13.png"; break;
     case (
$weatherimg == 14): $icon2 "weather_icons/14.png"; break;
     case (
$weatherimg == 15): $icon2 "weather_icons/15.png"; break;
 case ($weatherimg == 16): $icon2 "weather_icons/16.png"; break;
     case (
$weatherimg == 17): $icon2 "weather_icons/17.png"; break;
     case (
$weatherimg == 18): $icon2 "weather_icons/18.png"; break;
     case (
$weatherimg == 19): $icon2 "weather_icons/19.png"; break;
 case ($weatherimg == 20): $icon2 "weather_icons/20.png"; break;
     case (
$weatherimg == 21): $icon2 "weather_icons/21.png"; break;
     case (
$weatherimg == 22): $icon2 "weather_icons/22.png"; break;
     case (
$weatherimg == 23): $icon2 "weather_icons/23.png"; break;
 case ($weatherimg == 24): $icon2 "weather_icons/24.png"; break;
     case (
$weatherimg == 25): $icon2 "weather_icons/25.png"; break;
     case (
$weatherimg == 26): $icon2 "weather_icons/26.png"; break;
     case (
$weatherimg == 27): $icon2 "weather_icons/27.png"; break;
 case ($weatherimg == 28): $icon2 "weather_icons/28.png"; break;
     case (
$weatherimg == 29): $icon2 "weather_icons/29.png"; break;
     case (
$weatherimg == 30): $icon2 "weather_icons/30.png"; break;
     case (
$weatherimg == 31): $icon2 "weather_icons/31.png"; break;
 case ($weatherimg == 32): $icon2 "weather_icons/32.png"; break;
     case (
$weatherimg == 33): $icon2 "weather_icons/33.png"; break;
     case (
$weatherimg == 34): $icon2 "weather_icons/34.png"; break;
 case ($weatherimg == 35): $icon2 "weather_icons/35.png"; break;
}

$date date('d.m.Y H:i');

$file "banneri/banneri.jpg";
$image $file;

$ext substr($image, -3);

if(
strtolower($ext) == "jpg") {
    if (!
$im2 imagecreatefromjpeg($image)) {
        echo 
"Error opening $image!"; exit;
    }
} else {
    die;
}

$grey imagecolorallocate ($im2230230230);
$black imagecolorallocate ($im20,0,0);

$windicon imagecreatefrompng($icon);
$weathericon imagecreatefrompng($icon2);
$image_p imagecreatetruecolor(520,70);
imagecopyresampled($image_p$im200005207052070);
imagecopyresampled($image_p$windicon497250014141414);
imagecopyresampled($image_p$weathericon31040064646464);

imagettftext($image_p7042111$grey$font$date);
imagettftext($image_p8039038$grey$font$temp);
imagettftext($image_p8039050$grey$font$rain);
imagettftext($image_p8039062$grey$font$hum);
imagettftext($image_p8044738$grey$font$wind);
imagettftext($image_p8044750$grey$font$baro);
imagettftext($image_p8044762$grey$font$barotrend);
imagejpeg($image_p,'C:\wamp\www\banneri_saa\banneri.jpg',400);
imagedestroy($image_p);
imagedestroy($windicon);
imagedestroy($weathericon);

function 
get_raw$rawfile ) {
        
$rawdata implode(''file($rawfile));
        
$rawdata explode(' '$rawdata);
        return 
$rawdata;
}

function 
ktsToMph ($kts$prec) {
          
$prec = (integer)$prec;
          
$inch = (float)$kts 0.514444444;
          return 
round($inch1);
}

function 
windDir ($winddir)
// Given the wind direction, return the text label
// for that value.  16 point compass
{
  if (!isset(
$winddir)) {
    return 
"---";
  }
$windlabel = array ("N","NNE""NE""ENE""E""ESE""SE""SSE""S",
   
"SSW","SW""WSW""W""WNN""NW""NNW");
$dir $windlabel[ (int) ($winddir 22.5) ];
return 
"$dir";
}

exit;
?>

weatherc

Tuota helpommaksi sitä ei oikeen saa, hienoa työtä Snowi! Lyhyt, ytimekäs ja selkeä.  ;D


Snowi

Oho, oli näköjään jäänyt tuo $astring vielä tuohon ja tuo $dataage, joka varmaan olis ehkä ihan kätevä näissä bannereissakin. Mutta otin ne nyt pois tuosta skriptistä ja sai siten vielä nipistettyä kokoa ja selkeytettyä skriptiä  ;D

weatherc

Lainaus käyttäjältä: Snowi - torstai, 11.11.2010, 00:31
Oho, oli näköjään jäänyt tuo $astring vielä tuohon ja tuo $dataage, joka varmaan olis ehkä ihan kätevä näissä bannereissakin. Mutta otin ne nyt pois tuosta skriptistä ja sai siten vielä nipistettyä kokoa ja selkeytettyä skriptiä  ;D

Juu, siihen sais tietojen ikää tarkistavan pätkän aika helposti joka, jos tiedot ovat liian vanhoja, pläjäyttää infon siitä sen sijaan että piirtää vanhentuneet arvot siihen (omasta bannerista se taitaa uupua). Täytyy katsoa jos saisin tehtyä oman tuolle pohjalle niin siitä vois kehitellä vaikka wuhu-versiota aika helpolla (mullahan on wuhu-parseri jo nwn:ään joten pikkasen copy/pastea kehiin niin olis aika lailla siinä) ;D

Ei sulla Snowi olis zippiä noista tuulen nuolista? ;)

Snowi

Lainaus käyttäjältä: weatherc - torstai, 11.11.2010, 00:51
Ei sulla Snowi olis zippiä noista tuulen nuolista? ;)

Juu on toki. Tässä http://www.klaukkala-saa.fi/wind_icons.rar  :)

Wuhu-versio olisi kyllä hyvä, niin saisi vaikka Naruskan Ukkakin sitten oman bannerin  :). Muutenkin noi versiot on hyvä olla erillään toisista, niin ei tarvi tietyn version käyttäjä sen toisen version koodia siihen skriptiin.
Tuo pätkä joka tarkistaa onko data vanhaa olisi hyvä olla tuossa bannerissakin ja tuo ilmoitus siitä jos data on vanhaa olis kyllä hyvä juttu.

weatherc

Jaoin tuon nwn- ja bannerihässäkän kahteen osaan, voipi olla helpompi jatkaa tästä :)

Wuhulla on yksi pikkunen ongelma, siitä ei saa ikonia ulos koska se ei anna ulos samantyyppistä "säätilaa" mitä clientraw tekee.
Esim. nwn:ssä on wuhu-asemilla käytössä metarit jos sellainen löytyy lähistöltä.

weatherc

Tuli Snowi mieleen tuosta ikonistasi että tarkistappa ettei WD:ssä ole missään valittuna joko "use station forecast" tai "use metar". Liitteenä otos omasta icon-setupista ja Solar-setupista jossa löytyy joitain täppejä jotka kannattaa tarkistaa.