From 01a836bc815a8fac79853c1359d1886976e27e93 Mon Sep 17 00:00:00 2001 From: Jenda Date: Sun, 25 Aug 2013 12:05:21 +0200 Subject: [PATCH] write text "Since " to generated icon --- brmd/brmd.pl | 25 ++++++++++++++++++++----- brmd/status-closed.png | Bin 2318 -> 2318 bytes brmd/status-open.png | Bin 1944 -> 1963 bytes 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/brmd/brmd.pl b/brmd/brmd.pl index 82dc133..8e1caca 100755 --- a/brmd/brmd.pl +++ b/brmd/brmd.pl @@ -7,13 +7,14 @@ use strict; use warnings; use POE; use WWW::WolframAlpha; +use Image::Magick; our @channels = ("#brmlab", "#brmstatus"); our $streamurl = "http://brmlab.cz/stream"; our $devdoor = $ARGV[0]; $devdoor ||= "/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A700e1qB-if00-port0"; our $devasign = $ARGV[1]; $devasign ||= "/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0"; our ($status, $streaming, $dooropen, $topic) = (0, 0, 0, 'BRMLAB OPEN'); -our ($laststchange, $lastunlock) = (0, 0); +our ($laststchange, $lastunlock) = (time, 0); our $stmanual = 0; my $irc = brmd::IRC->new(); @@ -475,10 +476,24 @@ sub web_brmstatus_txt { sub web_brmstatus_png { my ($request, $response) = @_; - open my $img, ($status ? "status-open.png" : "status-closed.png"); - local $/; - my $imgdata = <$img>; - close $img; + #open my $img, ($status ? "status-open.png" : "status-closed.png"); + #local $/; + #my $imgdata = <$img>; + #close $img; + + my $image = new Image::Magick; + $image->Read($status ? "status-open.png" : "status-closed.png"); + + my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($laststchange); + + $mon += 1; + $year -= 100; + + my $str = sprintf("Since %02d-%02s-%02d %02s:%02d", $mday,$mon,$year,$hour,$min); + $image->Annotate( text=>$str, font=>'arial.ttf', fill=>'blue', pointsize=>'9', gravity=>'South'); + + $image->Set(magick=>'png'); + my $imgdata = $image->ImageToBlob(); $response->protocol("HTTP/1.0"); $response->code(RC_OK); diff --git a/brmd/status-closed.png b/brmd/status-closed.png index 416aa32fd8bac0fe3572cce8266e3c1b8cf6c0b2..3196cb70ee9c9db5d0a2476566ac69cb172711a1 100644 GIT binary patch delta 2293 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 P00000NkvXXu0mjf$$wnS delta 2293 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 LNkvXXu0mjfaXP9; delta 1905 zcmV-%2afow510=?iBL{Q4GJ0x0000DNk~Le0000|0000c2m$~A0NDLo8vp& zROuDR|L3`Pc$tA20g+)~7zGQvXlHSEV_PFOk;T-=rXlSXjcbv8BY#Gv8+Kt8s1C}T z!`mXl%)s24x%YWaKfod=f|!0_mOYtI=iEu|@A=Pj{?EB{iJ7tTLSRM4m)J`Q?)=M& z!{*5WHQL6L11k)B^kb1-&JRCcQP`{=wNvTa7;6Xk3x%yl+tlRX{H0JAIg42Kb4H;G zch7&#Gf9_~4>hOS^D2!9!a&5lejd3K0`Di}ku z{e;LZLE%;vyhUriE;5Uf5*vVOf0x#5oPP-g-y)D#-mZrL6|ppeETE=Am|e z5TLLAid?1g&U>0GmrWMsKU?N4Z6R!g?#X+96)*h&10SlPOIpQuAef_fU=G5HfD}^l z$X*Ubs`VV@)qlWSrEdRGd-+FjtxslbK!v*~+{fL260h&&XdB{vL@5jj8G|wa12B=g zp3=*?!FG>u7AL)L3%iHg-x05TnNt=%}fwal765`T4cAwVj=vk7bz^Znt~)?tk6EVDRbEOiYzhQc_x5Tj$98 zdFi>ZRsSU_D1%Ulwu1ynKzG2F$yy4a0|F!fAld~rNx3c+yu4KAKp;?AS-ErP&X$&z zmX?<7+qZAovZbr5>#;{LGqaTP(xpodhhyKqeNU8T$264?_4W0ML}DpFa%LV6@bC@c zd(&z@sDG7jhIJqDAcUQC7wb+4f*FAshME9kKmrK~T1|S6?2l`ke#;L&AomtHivd~` zd+*-8e!qYJ{{1tV#>U1#AaLr`sVS9a-(gQrkKgYPhr>^o=Gd~XU$}7L%9SgJ40%-hWsvzeng(vf@a|L?lRQS+EAc7Jt}e6(uu7i4bHAFaZTH2mm2Ih71?R zI$?9DM;)r~@75CzhtBrn!_d zUd39^6$5C_MAIADS-u!6;~ z7`l_gA$EEp4Uw~v*1aWO{f#KvB^G1`ux;D6)2C0*&YU@Orn0i~|6){?m6e*NU4OlL zRoC^U_;&vl4E%6g>MVrn@hU0uCA`ln>W|j z*Von6G4t88XB!$Cnwy)wUhl$v>p4rYSgf|T_S&^;(P;F!eLMe~7!9+PK#B)(iMWI* zAtfvcQz4;XDwqmsZZ;KDgrI3xVul4sMp_;@z3S7C$iJVQMaWF@ zQyPZ?+;KwKJ;Jw7Hh)AZ*_2%YJqM;hT(Me(N1~eO_ZVkOoq-KYyImqxvrZy2xCs#_wnw zf4-ct=YOcg#xO^EC4s!VMCP2Ps(Sy$