dijous, 9 de febrer del 2012

Class upload, llibreria per gestiona pujades amb PHP

AVÍS: aquest article parla sobre un tema molt específic de programació així que no és per tots els públics.

Vaja, fa temps que no publico. Encara que ho sembli, el bloc no està mort, simplement és que he estat molt enfeinat preparant alguna petita novetat per Arcaron.

Justament, pel que estem preparant, he descobert una llibreria en PHP que crec que val la pena conèixer si ets programador perquè facilita la pujada i tractament d'imatges com ara avatars o icones.

És força comú que les aplicacions web demanin la pujada d'un avatar d'usuari per tal que sigui fàcilment identificable. Com a norma general, tots els frameworks donen suport natiu a aquesta funcionalitat, però a vegades és necessari programar-la. Aquí és on entra en joc la classe "Upload", una classe que pot ser descarregada de la pàgina de l'autor

La llibreria té una documentació força clara i és realment senzilla de fer servir. Algunes de les característiques que m'han portat a provar-la són:

  • Afegir marques d'aigua a les imatges només indicant l'origen de la imatge de marca d'aigua.
  • Re-escalat d'imatges tant mantenint proporcions com no mantenint-les
  • Control sobre quins fitxers poden pujar-se al servidor
  • Permet reprocessar més d'un cop les imatges per aconseguir més d'un format a partir d'una única pujada de l'usuari (per exemple, avatar gran i avatar petit)
  • Els missatges d'error són molt clars (estan a l'atribut "error")
  • Compatible amb els principals tipus d'imatge (jpg, png i gif)
A continuació poso un exemple de com es fa servir:

//agafem el camp del formulari anomenat 'imgfile'
if (isset($_FILES['imgfile'])) {
   //creem l'objecte
   $file = new Upload($_FILES['imgfile']);
   if ($file->uploaded) {
      $file->file_new_name_body = 'nom_arxiu_final'; //posar nom a l'arxiu final
      $file->allowed = array('image/*'); //format valid tot tipus d'imatge
      $file->image_resize = true; //volem reescalarla
      $file->image_x = 200; //mida horitzontal
      $file->$handle->image_ratio_y = true; //mantenir proporcio
      $file->image_watermark = 'marca.png'; //imatge de la marca d'aigua
      
      $file->process('..//imag/directori_desti/'); //processar l'enviament

      if ($file->processed) {
         $filename = $file->file_dst_name; //nom de l'arxiu final
         $file->clean(); //buidat
         echo "La imatge $filename ja s'ha processat"; 
      } else {
         echo "Error al processar l'enviament. $file->error";
      }
   } else {
      echo "La imatge no és vàlida. $file->error");
   }
}

dijous, 12 de gener del 2012

PhotoFilmStrip creació fàcil de carrusels d'imatges en vídeo

Fa alguns mesos, vaig començar a parlar del programari que he descobert mentre construïa el meu portafoli de belles arts. De moment he parlat de Phatch i de Cinelerra, i només me'n queda pendent un, que és justament el que porto avui.

Així com pels vídeos de pintura i d'escultura ho vaig montar amb Cinelerra, perquè la majoria de les fonts eren vídeos, per al de dibuix Cinelerra m'era una mica pesat perquè totes les fonts eren imatges estàtiques. Per aquest motiu vaig posar-me a buscar fins a trobar el PhotoFilmStrip.

Captura de la interfície de PhotoFilmStrip

PhotoFilmStrip serveix única i exclusivament per fer carrusels d'imatges, posar una música de fons i exportar-ho a vídeo. És molt senzill d'usar i és una opció molt interessant si voleu fer un vídeo curt amb les fotografies de les vacances. Us deixo amb el vídeo que vaig fer.

Treballs d'Iniciació als Processos i projectes I (Dibuix)

dimecres, 4 de gener del 2012

Durant el 2011

Bon any a tothom. Com ja vaig fer el 2010, començo l'any repassant alguns esdeveniments destacats/friquis d'aquest atípic 2011 (majoritàriament extrets d'aquí).

  • 1 de gener: Estonia adopta l'Euro com a moneda
  • 2 de gener: entra en vigor la llei anti-tabac a Espanya
  • 15 de gener: 10 aniversari de la Wikipedia en Anglès i Català
  • 16 de gener: 10 aniversari de la Wikipedia Castellà
  • 22 de gener: es produeix la Revolució dels Gessamins a Tunísia i seguidament al Marroc, Argèlia, Egipte i Iemen.
  • 27 de gener: s'anuncia l'iPad 2
  • 2 de febrer: es publica la primera edició de The Daily, el primer diari digital pensat exclusivament per iPad (i si, només per iPad)
  • 13 de febrer: Samsung presenta el Galaxy Tab 10.1, i jo segueixo sense que me'n regalin cap
  • 22 de febrer: Google presenta Android 3.0 Honeycomb per a Tablets
  • 27 de febrer: es lliuren els Óscars 2010 amb The King's Speech (2010) com la pel·lícula més guardonada
  • 11 de març: un terratrèmol de 9 graus afecta Japó i provoca l'accident nuclear de Fukushima I
  • 30 de març: ASUS presenta el Eee Pad Transformer, una fusió entre Tablet i Netbook i em posen les dents llargues.
  • 23 d'abril: Canonical presenta Ubuntu 11.04 Natty Narwhal, la primera amb interfície Unity per defecte
  • 15 de maig: es produeixen a Espanya les manifestacions del moviment Democracia Real Ya! iel Movimiento 15-M. Per desgràcia el món segueix més o menys igual
  • 16 de maig: últim viatge del transbordador espacial Endeavour
  • 25 de maig: s'emet l'últim programa del talk show The Oprah Winfrey Show després de 25 temporades
  • 29 de maig: Alemania acusa a Espanya de subministrar una carregament de cogombres infectats amb Escherichia coli i s'inicia la "Crisis del pepino de 2011" que només pel nom ja es mereix estar en aquest recull.
  • 6 de juny: primera preview de l'iOS 5.x, el sistema operatiu de l'iPhone i l'iPad
  • 28 de juny: Google presenta Google+, la seva xarxa social. I bé, està allà.
  • 1 de juliol: la Policia Nacional deté a diversos alts càrrecs de l'SGAE
  • 7 de juliol: neix El Sospir de T, el compte de Twitter d'aquest bloc
  • 7 de juliol: s'allibera Java 7 Dolphin, la majoria dels javeros estan contents
  • 15 de juliol: s'estrena la darrera pel·lícula de la saga de Harry Potter. D'acord, potser no és un fet molt rellevant, però crec que val la pena posar-ho
  • 21 de juliol: finalitzen els viatges amb transbordador espacial amb l'aterratge de l'Atlantis.
  • 22 de setembre: es fan públics els resultats de l'èxperiment OPERA del CERN on, suposadament, s'ha aconseguir accelerar una partícula més enllà de la velocitat de la llum.
  • 4 d'octubre: es presenta l'iPhone 4S amb poquetes novetats
  • 15 d'octubre: s'anuncia el Nexus S, un nou telèfon de Google
  • 13 d'octubre: Canonical presenta Ubuntu 11.10 Oneiric Ocelot
  • 10 d'octubre: Google presenta Android 4.x Ice Cream Sandwich amb la promesa d'unificar tablets i mòbils en una única versió
  • 20 d'octubre: ETA anuncia el cessament definitiu de l'activitat armada
  • 21 d'octubre: després d'anys i panys de sentir-ne parlar, es posen en òrbita els dos primers dels satèl·lits del Sistema de Navegació Galileu.
  • 31 d'octubre: es calcula que el planeta ja ha arribat als 7 mil milions d'habitants... humans
  • 31 d'cotubre: Google elimina l'opció de compartir de Google Reader per intentar potenciar Google+ provocant una gran emprenyada entre els usuaris (jo entre ells)
  • 9 de novembre: ASUS presenta el Eee Pad Transformer Prime, el primer Tablet Android amb Quad Core
  • 11 de novembre: per primer cop en 6 anys, Ubuntu deixa de ser la distribució més popular de GNU-Linux segons Distrowatch en front de Linux Mint. Potser Unitity tindrà alguna cosa a veure
  • 17 de novembre: Microsoft presenta la primera versió estable de Windows Phone anomenada Mango
  • 20 de novembre: es celebren eleccions generals a Espanya i guanya per majoria absoluta el PP. La que ens espera.
  • 17 de desembre: mor Kim Yong-Il, dictador de Corea del Nord
Com que la llista de fets m'ha quedat una mica llarga, em centraré únicament a un parell dels que ens han deixat en l'àmbit tecnològic

Per sort, no tot són morts, i aquest any també podem celebrar el naixement de l'Eva Recio Ojuel, filla del meu germà (i col·laborador recurrent del blog). Felicitats als pares.

Per acabar, només desitjar que el 2012 sigui un millor any que el que deixem enrere.