giugno 2007 Blog Posts
Dopo la "fatica" fatta per ottenere una porzione di immagine da una più grande (vedi il precedente post)... mi sono accorto che non andava bene per WPF. Ricordo il mio obiettivo che è quello di ottenere delle singole immagini di carte da gioco da una immagine che le contiene tutte in sequenza (un po come si fa in html per intenderci) Ecco come ho risolto nella nuova versione: Prima carico l'immagine dalle risorse in questo modo: 1 string imageUri = "pack://application:,,,/Resources/carte.jpg";
2 BitmapImage imageCards = new BitmapImage(
3 new Uri(imageUri, UriKind.Absolute));
4
Mi sono fatto una funzione che ritorna una "CroppedBitmap" dato...
Ho appena guardato questo video sull'utilizzo di Blend per cotruire una interfaccia ricca.Vi consiglio la sua visione... bellissimo!
E' una tecnica usata spesso in html, quella di avere una immagine unica che ne contiene altre concatenate al suo interno. Stasera volevo affrontare con la stessa tecnica anche un gioco di carte che sto provando a fare.Ecco come ho risolto il problema di ottenere una immagine da una porzione di un altra. 1 public Bitmap GetPortionImage(Bitmap bitmap)
2 {
3 Bitmap bm = new Bitmap(50, 100);
4 Graphics g;
5 g = Graphics.FromImage(bm);
6 Rectangle portion = new Rectangle(0, 0, 50, 100);
7 ...
Questa me la devo appuntare... leggendo questo post su CodeProject ho visto una tecnica interessante per evitare lo sfarfallio in un listview. Ecco il codice: 1 class ListViewNF : System.Windows.Forms.ListView
2 {
3 public ListViewNF()
4 {
5 //Activate double buffering
6 this.SetStyle(ControlStyles.OptimizedDoubleBuffer |
7 ...
Ormai se ne vedono sempre di più e questo mi fa piacere... plugin per applicazioni grafiche che consentono di esportare in xaml. Anche uno dei miei programmi preferiti di grafica vettoriale ha la sua estensione disponibile a questo indirizzo.
Segnalo una serie di video su WCF per chi come me è alle prime armi. Inoltre a questo indirizzo ci sono i webcast di mamma Microsoft tra cui quelli del mitico Paolo Pialorsi a cui avevo partecipato ma che sicuramente riguarderò nei prossimi giorni.
Ogni tanto mi succede che Visual Studio si incricchi nel designer con un errore "The name 'components' is already used by another object." Ho scoperto finalmente come risolvero: in pratica VS scrive due volte l'instanza di "components". Quindi ... andare nel file "xxx.Designer.cs" ed eliminare una riga come mostrato sotto.
Sto pian pianino imparando ad usare Expression Blend e a forza di tutorial qualcosa di carino viene fuori. Questo è un video riflesso ottenuto seguendo uno dei tutorial presenti qui. Ho scoperto un'altra imponente serie di video-tutorial a questo indirizzo. Tra il libro di Petzold, Blend e video tutorials, sto WPF mi inizia ad acchiappare di brutto.... (sarà per distrarsi dai soliti gestionali grigi-grigi, sarà un pò della mancanza del buon vecchio html? ...mah!)
Come scritto in questo post Microsoft ha reso disponibile una soluzione composta da 3 progetti (GetLocalTime, SetLocalClock, RunElevatedCommand) per dimostrare l'utilizzo del manifest richiesto da Vista per elevare i diritti dei ns eseguibili NET. Ecco il link dove è possibile scaricare i sorgenti. Mi segno per ricordarmi i passi: 1: IL Manifest (nominato mioeseguibile.exe.manifest): 2: <?xml version="1.0" encoding="utf-8" standalone="yes"?> 3: <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 4: <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 5: <security> 6: ...
Codice per lanciare la gestione di IIS: Da riga di comando: %systemroot%\system32\inetsrv\iis.msc Da C#: string sdir = Environment.GetFolderPath(Environment.SpecialFolder.System);sdir = Path.Combine(sdir, "inetsrv\\iis.msc");Process.Start(sdir);