free hit counter
January, 2009 - Pietro Brambati Blog - Site Home - MSDN Blogs

Pietro Brambati Blog

Developer's stories

January, 2009

  • Pietro Brambati Blog

    Tasti di Zoom + e – in Deep Zoom

    • 0 Comments

    Una delle funzionalità che hanno aggiunto nell’ultima versione di Deep Zoom Composer è molto interessante. Ho ricevuto spesso domande su come aggiungere pulsanti per fare lo zoom in progetti deep zoom e sicuramente in questo modo avete già molto codice e grafica già fatta.

    Installare Deep Zoom Composer

    Potete scaricare l’ultima versione da qui ( quella che ho usato è la 0.9.000.6). Quindi lanciatelo.

    Import e Compose

    L’uso è semplice ed intuitivo:

    1. Uplodate una o più foto (siete nella fase di Import, lo vedete nella barra in alto)
    2. Nella fase di Compose potete sistemare le immagine riducendole, ad esempio, e sistemandole una sopra l’altra:

     

    image

    Export

    In questa fase potete scegliere la modalità in cui esportare il vostro progetto DeepZoom

    image

    Scegliete Silverlight Deep Zoom, Export as a Composition e quindi Export.

    Aprite il progetto generato. Ora, oltre al supporto per la rotella del mouse avete i due tasti per lo zoom in e out ( più altri ) nell’ angolo in basso a destra: muovetevi con il mouse nell’angolo, un’animazione presenterà la barra.

    image

    Se ora andate nel file app.xaml, in fondo trovate il canvas che contine i 4 bottoni, ai bottoni è associato un Data Template che ne modifica l’aspetto e il comportamento (nella porzione di codice sottostante non vedete la proprietà Template)

    image

    Ora se proprio volete essere sicuri rimuovete la proprietà Template dal primo bottone, quello con x:Name=”zoomIn”, ed ecco la versione developer (= quella brutta) dello stesso bottone.

    image

    Procediamo ed andiamo a vedere il codice C# dietro il bottone Evento ZoomInClick, che contiene il codice seguente, dove viene svelato il mistero.

    image

    Lo XAML della pagina contiene un elemento di tipo MultiScaleImage, che viene referenziato da code-behind con il nome msi. Tra i metodi di questo oggetto esiste  ZoomAboutLogicaPoint, che si occupa, guarda caso, proprio di gestire lo zoom, ma dato che lavora con coordinate logiche ( da 0 a 1) e non fisiche, viene invocato il metodo ElementToLogicalPoint, che converte le coordinate da pixel a logiche. Nel codice viene preso come riferimento il centro del rettangolo disegnato dall’elemento MultiScaleImage. Nel codice generato dal Composer la Width e la Height viene recuperata dalle proprietà ActualWidth e ActualHeight.

  • Pietro Brambati Blog

    Windows 7 Developer Guide (preview)

    • 3 Comments
    Se state cercando un documento con le novità per sviluppatori di Windows 7, potete scaricare la Developer Guide, all’interno della quale trovate descritte tutte le nuove API messe a disposizione da Windows 7. Le API sono tutte per lo sviluppo in codice nativo e in alcuni casi vanno ad affiancarsi a API già presenti per chi lavora con .NET, come ad esempio le Windows Web Service API  (WWSAPI) che permettono di creare e consumare servizi direttamente programmando in codice nativo, quindi (quasi) un equivalente di WCF lato .NET. Questo può essere molto utile in contesti in cui abbiamo applicazioni scritte completamente in codice nativo, MFC etc e non vogliamo usare interop o avere maggiori performance. Altre API non hanno, per lo meno ancora, una controparte nel mondo .NET come ad esempio le Multi-Touch API, che permettono di scrivere applicazioni che supportano nuovi device e rilevare il multi-touch.

    Ecco l’elenco delle nuove e/o estese API ( forse non è completo) ma rende l’idea:

    1. Packaging API
    2. UI Automation
    3. Extended Linguistic Services API
    4. Multi-Touch Gestures, Manipulation Inertia API
    5. Scenic & Ribbon API
    6. Library API
    7. DirectX API
      1. Direct 2D
      2. DirectWrite
      3. Windows Imaging Component Codec
      4. Direct 3D 10
      5. Direct 3D 11
      6. DirectX/GDI Interoperability
      7. DPI-Aware API               
    8. Media Foundation API
    9. Windows Biometric Framework
    10. Web Services API
    11. Windows Sensor & Location API
    12. Windows BranchCache API

    Link utili:

  • Pietro Brambati Blog

    Windows 7 : una curiosità …

    • 1 Comments

    Se state facendo il download di un file un pò grande potete controllare lo stato di avanzamento in modo qualitativo guardando l’icona di Internet Explorer 8 sulla Taskbar, che andrà via via riempiendosi durante il periodo di download.

    win7-i88

    Se poi andate sopra con il mouse vedete la finestra di download tra gli altri tab aperti:

    image

  • Pietro Brambati Blog

    WAI-ARIA

    • 0 Comments

    Fino a qualche mese fa, non ero a conoscenza di queste specifiche (Accessible Rich Internet Applications): che hanno lo scopo di definire come creare applicazioni RIA facilmente accessibili. Grazie a qualche accorgimento nel codice infatti è possibile avere applicazioni HTML, JavaScript che possono facilmente essere utilizzate da persone con disabilità e che utilizzano dispositi come screen-reader per avere accesso a Internet.

    Sono arrivato allo studio di queste specifiche quando ho cominciato ad interessarmi alle novità di Internet Explorer 8 e vi sono ritornato quando ho letto del supporto migliorata che ci sarà nella RC  in cui oltre alla modalità standard di IE8, tale supporto vi sarà anche per la modalità IE7 e Quirk.

    Per uno svillupatore fare in modo che il proprio sito supporti WAI-ARIA vuol dire aggiungere delle proprità all’ HTML:

    • alcune come i role attribute pemettono di fare capire ad un dispositivo esterno cosa un certo elemento HTML rappresenti, secondo una lista di ruoli predefiniti
    • states and properties permettono di specificare meglio lo stato appunto di un elemento HTML
    • Le live regions permettono di sapere quali porzioni della pagina verranno più facilmente modificate dall’applicazione, e quindi monitorate più facilmente da un dispositivo esterno

    Se siete interessati a dare uno sguardo alle novità di Internet Explorer 8 sul supporto agli standard per l’accessibiltà:

  • Pietro Brambati Blog

    IE8 XDomainRequest

    • 0 Comments

    Durante la presentazione che feci ai MS Days 08 su IE8, ho brevemente accennato ad alcune API che possono interessare a chi sviluppa applicazioni AJAX. Una di queste si chiama XDomainRequest (XDR) e ha l’obbiettivo di permettere chiamate cross-domain, ad esempio da una pagina a.aspx nel dominio a.com ad una pagina b.aspx nel dominio b.com.

    Nella RC di IE 8, sarà disponibile il supporto completo a Simple Cross-Site Access Request. In estrema sintesi nella pagina chiamata, b.aspx,  è possibile specificare un header http (Access-Control-Allow-Origin) che contiene l’url del sito chiamante, rendendo estremamente granulare la scelta del chiamante stesso.

    imageIn questo video pubblicato sul sito di IE8 in cui si dà la notizia, potete vedere due cose interessanti: la prima un esempio di questa tecnica con IE8, la seconda come modificare la sola pagina chiamante per funzionare con la beta di Firefox. La pagina chiamata, invece non dovrà essere modificata.

  • Pietro Brambati Blog

    Un’iniziativa divertente …

    • 0 Comments

    j0427752 Oggi sono rientrato da un lungo periodo di ferie, gurdando tra mail, post arretrati e quant’altro sono stato incuriosito da questa iniziativa che i ragazzi di ASPItalia stanno organizzando in occasione della conferenza Basta!Italia. L’idea è semplice se qualcuno di vuoi si sente in grado di fare una sessione tecnica su tecnologie Microsoft, può proporre il titolo di una sessione e se viene scelto, avrà il palco serale a sua dispozione! Probabilmente non interessa proprio a tutti, ma se qualcuno vuole provare, anche solo per una volta … penso sia un’ottima occasione: provare per credere. Il tempo non è più molto perchè mi sembra che la candidatura vada espressa entro il 15 gennaio, ma come dice qualcuno … solo “i più coraggiosi”. Tutte le informazioni le potete trovare qui.

    Buona fortuna

Page 1 of 1 (6 items)