Kuvatud on postitused sildiga kood. Kuva kõik postitused
Kuvatud on postitused sildiga kood. Kuva kõik postitused

teisipäev, 5. september 2017

Convert all JPGs to PNG and replace black frame with transparent

How to convert all number named JPG (like 1/2/3/123.jpg and 3/4/34.jpg) files in directory tree to PNG - replace black background with transparent, but preserve file extension (hold by database):
You need to have imagemagick.

shopt -s globstar
for i in **/*[0-9].jpg; do
   echo "in: $i"
   oname=`echo $i | cut -f1 -d'.'`."png"
   echo "out: $oname"
   convert $i -fill none -fuzz 5% -draw 'matte 0,0 floodfill' -flop  -draw 'matte 0,0 floodfill' -flop -format png $oname
done
find . -name '*.png' -exec sh -c 'mv "$0" "${0%.png}.jpg"' {} \;



5% - can be changed to fit better.

neljapäev, 1. november 2012

Isikukoodist vanus LibreOffice/OpenOffice'is

Oli tarvidus automatiseerida isikukoodide põhjal vanuste arvutamist. Kirjutasin esialgu funktsiooni Pythonis, aga LibreOffice'iga ühendamisel tekkisid teatavad raskused - õpetusi pole ja otse kontoriprogrammist redigeerida ei saa. Seega lahendasin lõpuks vanakooli Basicus asja. Olen selles küll väga roostes ja üldse pole profiprogeja, aga vähemalt pakun endapoolse lahenduse välja:



Function Vanus(a)
sajand = left(a, 1)
aasta  = right(left(a, 3), 2)
kuu = right(left(a, 5), 2)
paev = right(left(a, 7), 2)
praegu = date()
praegu_paev = right(left(praegu, 5),2)
praegu_kuu  = left(praegu, 2)
praegu_aasta = right(praegu,4)
if (sajand = "4") or (sajand = "3") then  
sajand = "19"
else: 
    sajand = "20"
End if    
synniaasta = sajand + aasta
vanus = int(praegu_aasta)-int(synniaasta)
if int(praegu_kuu) < int(kuu) then vanus = vanus - 1
if int(praegu_kuu) = int(kuu) and int(praegu_paev) < int(paev) then vanus = vanus - 1
End Function

See tuleb siis kopeerida makrode halduri kaudu Libre igasse dokumenti, kus seda funktsiooni vaja läheb.

Tabeli lahtrisse tuleb kirjutada
=vanus(isikukoodilahter)

või otse isikukood:
=vanus(38807012700)

Märkus: funktsioon toetab ainult aastatel 1900-2099 sündinud isikute isikukoode. Isikukoodi esimene number teadupärast määrab lisaks soole ka sünnisajandi. Ajaloolistes dokumentides 19. sajandil sündinud inimeste isikukoodide põhjal oleks vaja lisada kontroll isikukoodi esimeste numbrite 1 ja 2 suhtes. Nii vanade inimeste puhul praeguseks muidugi tegu möödunud ajaga sünnist, mitte vanusega. Või on keegi veel elus?

Minu blogide loend