Cerca nel blog

Visualizzazione post con etichetta Nerd. Mostra tutti i post
Visualizzazione post con etichetta Nerd. Mostra tutti i post

mercoledì 25 agosto 2010

Il piacere di scrivere a mano

Il piacere di scrivere a mano, in corsivo, usando la tastiera del notebook. E' questa la piccola rivoluzione che promette il servizio on line (gratuito) PilotHandwriting. Non c'è bisogno di una tavoletta speciale o di una penna elettronica. Basta registrarsi, scaricare una griglia in cui scrivere a mano tutte le lettere dell'alfabeto e poi immortalare il risultato con la webcam
Il software riconoscerà la scrittura e consentirà all'utente di modificare, volendo, alcuni tratti. A quel punto, digitando le lettere sulla tastiera del computer, appariranno sullo schermo frasi dalla calligrafia identica a quelle che avremmo scritto, di nostro pugno, su un semplice foglio di carta.

mercoledì 28 aprile 2010

Angolo nerd: custom marker icon in Flash Builder 4

Se vi è capitato di dover inserire dei marcatori su una google map utilizzando le API per Flash Builder 4 vi sarete accorti che non è una cosa banale se, come me, volete anche personalizzare l'icona del marcatore stesso senza "embeddarla" nel codice sorgente ma leggendola in tempo reale da un'altra URL.
Alla fine ho risolto come segue:

// ipotizzando un array di coordinate dove inserire i marcatori
public var markers:Array = new Array(
    new LatLng(45.064913,7.660840),
    new LatLng(45.064003,7.663393));


// definisco la request ed il loader per caricare l'icona del marcatore
var imgUrl:String = "http://www.icon.com/img.png";
var request:URLRequest = new URLRequest(imgUrl);
var imageLoader:Loader = new Loader();

// aggiungo il listener all'avvenuto caricamento dell'immagine 
// al quale abbino una funzione
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, function (e:Event):void {
   // per ogni punto dell'array definisco le option 
   // del marcatore e lo inseriso sulla mappa
   for each (var coord1:LatLng in markers) {
      // creo il marcatore
      var m1:Marker = new Marker(coord1);
      // creo le opzioni
      var markerOptions:MarkerOptions = new MarkerOptions();
      // creo la bitmap per l'icona
      var bmd:BitmapData = Bitmap(e.currentTarget.content).bitmapData;
      var b:Bitmap = new Bitmap(bmd);
      // setto l'icona
      markerOptions.icon = b;
      // in base alle dimensioni dell'icona 
      // definisco il punto di inserimento rispetto al marcatore
      markerOptions.iconOffset = new Point((b.width /2)*-1,b.height*-1);
      // assegno al marcatore le opzioni
      m1.setOptions(markerOptions);
      // inserisco il marcatore sulla mappa
      map.addOverlay(m1);
   }
});
imageLoader.load(request);