Forum Sevdam
Nickiniz
Şifreniz
Sponsor Linkler




Hediyeler    Anasayfa    Gruplar    Etiketler    Blog    Yardım    İletişim
Forumdan En İyi Şekilde Faydalanmak İçin KAYIT Olmanız Gerekmektedir.    

Geri git   Forum Sevdam > Bilgisayar ve İnternet > Programlama ve Web Tasarım > Silverlight, Expression, LinQ, Ajax, JavaScript

Bu Bölümlerimizi İncelediniz mi ?:
Şimdi ÜCRETSİZ Üye Ol!
Forumumuza kaydınız bulunmamaktadır. Hızlı ve Ücretsiz olarak forumumuza aşağıdaki formu doldurarak üye olabilirsiniz.

Üye adı: Şifre: Şifre Onay: E-posta: E-posta Onay:
Doğum Gününüz:     Cinsiyet:    
Grafik Doğrulaması
  Forum kuralları kabul ediyorum. 


Silverlight 1.0 Font Embedding

Silverlight, Expression, LinQ, Ajax, JavaScript


Cevapla
 
LinkBack Seçenekler Stil
Alt 26-05-2008, 15:18   #1
Hayat İşte...

11 Oca 2008
Dünyadan
:
Yaş: 24
Ruh hali:
Ettiği Teşekkür: 1,244
417 Mesajına 625 Kere Teşekkür Edlidi
Tepki Sayısı: 3
23 Mesajına 26 Kere Tepki Gösterildi
 
Tecrübe Puanı: 10000
XiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond repute
XiLoNeN - MSN üzeri Mesaj gönder
 XiLoNeN isimli Üye şimdilik offline konumundadırOffline  



Standart Silverlight 1.0 Font Embedding


Biraz önce mail ile süper bir soru aldım Soru şöyle: "Silverlight içerisinde font dahil edip istemci tarafında kullanma şansımız var mı?" EVEEEET Var. Silverlight uygulamanızdaki herhangi bir TextBlock'un setFontSource metodunu kullanarak sadece Silverlight animasyonunun çalıştığı istemci makinedeki fontları değil harici font kaynaklarını kullanmasını da sağlayabilirsiniz. Peki bunu nasıl yapacağız?
İlk olarak kullanacağımız fontu tabi ki sunucumuza yerleştirmemiz gerekiyor. Sonrasında Silverlight uygulamamız istemcide yüklendiği anda fontu da yüklemeye başlamamız lazım. Bunun için bir Silverlight downloader nesnesi yaratarak kullanacağız. Aşağıdaki gibi bir kod işimizi görecektir.
HTML-Kodu:
if (!window.Font_SV)
   window.Font_SV = {};
  
 Font_SV.Page = function() 
 {
 }
  
 Font_SV.Page.prototype =
 {
   handleLoad: function(control, userContext, rootElement) 
   {
     var yukleyici = document.getElementById('SilverlightControl').createObject("downloader");
     yukleyici.addEventListener("Completed",  Tamamlandi);
     yukleyici.open("GET", "Dungeon.TTF");
     yukleyici.send();
   }
 }
Gelin satır satır yukarıdaki kodu inceleyelim. İlk satırda adını yukleyici olarak verdiğim bir JavaScript değişkenine download nesnesi yaratıyorum. Bunun için sayfamdaki Silverlight uygulamamın ID bilgisini document.getElementById metoduna vererek Silverlight uygulamamı yakaladıktan sonra uygulamama ait createObject metodunu kullanıyorum. Söz konusu metodu obje tipi olarak downloader değerini vermem yeterli oluyor. Artık elimizde bir downloader nesnesi bulunduğuna göre gelelim bu nesnenin ayarlarına.
İkinci satırda hemen downloader nesnesine sunucudan veriyi istemciye asenkron olarak yükleme işini bitirdiğinde çalıştırılmak üzere Tamamlandi adinda bir JavaScript fonksiyonu aktarıyorum. Bu fonksiyonu biraz yazacağız.
Üçüncü satırda downloader nesnesini aynı bir XMLHttpRequest nesnesi gibi sunucudan veri isteme metodunu ve isteyeceği dosyayı ayarlıyorum. GET metodu şimdilik uygun. Dosya adı olarak da benim örneğimde Dungeon.TTF font dosyamın adı. Bu noktada özellikle belirtmem gereken bir nokta var. Yine aynı XMLHttpRequest nesnelerinde de olduğu gibi downloader nesnesi de ancak URL üzerinden dosya çekebiliyor. Yani bu kodları makinenizde çalıştırırken de IIS veya ASP.NET Development Server üzerinden çalıştırmanız gerekecek.
Son olarak dördüncü satırda artık tüm ayarlarım tamamlandığı için veri alım işlemini başlatmak üzere talebimi yukleyici'nin send metodu ile sunucuya gönderiyorum.
Peki veri geldiğinde neler yapacağız? Gelin şimdi de aşağıdaki kodu inceleyelim.
HTML-Kodu:
function Tamamlandi(sender, eventArgs)
 {
     sender.findName("Metin").setFontSource(sender);
     sender.findName("Metin").fontFamily = "TrSah Dungeon";
     sender.findName("Metin").text = "Bu artık çok özel bir fontla yazılmış bir metin!!!";
 }
Tamamlandi adındaki fonksiyonum çalıştırıldığında hemen Silverlight uygulamamdaki Metin ID'li TextBlock nesnemi yakalıyorum. Sonrasında TextBlock nesnesine ait setFontSource metoduna parametre olarak diren sender parametresini veriyorum. Yine aynı karşılaştırmayı yaparak sizlere XMLHttpRequest nesnelerini hatırlatmak isteyorum. XMLHttpRequest nesneleri ile AJAX uygulamalarında da sunucudan asenkron isteklerde bulunduğumuzda isteğimiz tamamlandığında çalıştırılan fonksiyonumuza gelen ilk parametre aslında sunucudan gelen verinin ta kendisi oluyordu. Burada da durum aynı. Bizim Tamamlandi fonksiyonumuzun sender parametresi downloader tarafından gönderilen ve sunucudan gelen font dosyamızın verisi.
Gelen veriyi TextBlock nesnemizin font kaynaklarına ekledikten sonra sıra geldi söz konusu fontu TextBlock için gösterim aşamasında seçmeye. Bunun için TextBlock'a ait fontFamily özelliğini yüklediğimiz fontun adı ile değiştiriyoruz. Son olarak da TextBlock içerisinde metni içerisinde Türkçe karakterler de olan bir metin ile değiştiriyorum. En ufak bir sorun yok
Biraz daha kullanıcı dostu bir yükleme süreci için isterseniz siz uygulamalarınızda yükleme işlemini başlatmadan önce ekranda "Yükleniyor" gibi bir uyarı mesajı da gösterebilirsiniz.
Örnek uygulamayı aşağıdaki adreste inceleyebilirsiniz. Kaynak kodlarını özellikle bir paket olarak koymuyorum. İsteyenler sayfanın kaynak kodlarına girerek zaten alabilirler Sizler için de biraz Silverlight egzersizi olmuş olur.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Kolay gelsin.



Kaynak: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
İmzamDisplay Signature
Digg this Post!Add Post to del.icio.usFurl this Post!Facebookta paylaş!!Google'da PaylaşYahoo'da PaylaşLive'da Paylaş!
Alıntı ile Cevapla

Cevapla

Bookmarks


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Hizli Erisim

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Sayfa içi Silverlight uygulamaları XiLoNeN Silverlight, Expression, LinQ, Ajax, JavaScript 0 26-05-2008 15:27
ASP.NET ile Silverlight XAML Yaratalım XiLoNeN Silverlight, Expression, LinQ, Ajax, JavaScript 0 26-05-2008 15:24
Silverlight 1.0 ve HTML Kontrolleri XiLoNeN Silverlight, Expression, LinQ, Ajax, JavaScript 0 26-05-2008 15:22
550 Adet Harika Font TuaNa Photoshop, CoreDRAW, FreeHand 0 15-03-2008 20:52


WEZ Format +3. Şuan Saat: 17:01.

Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.

Yahoo bot last visit powered by MyPagerank.Net Powered by  MyPagerank.Net Join 4Shared Now! Msn bot last visit powered by MyPagerank.Net cvZip.com - Bilişim Sektörünün Yeni Kariyer Platformu

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193