Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » Veritabanları » Bir stringin içeriginin pixel cinsinden değeri?


Veritabanları MySQL , MSSQL, SQL, Access, Oracle

Yanıt
 
LinkBack Seçenekler
Old 17.12.2004   #1 (permalink)
 
badtrip's Avatar
 
Üyelik Tarihi: 04.06.2004
Yer: denizli
Yaş: 28
Mesaj: 7
Bir stringin içeriginin pixel cinsinden değeri?


Selamlar,
PHP de MySQL den veri cekıyorum ve bunu sayfaya dokucegım yerdede gelen string iceriginin pixel olarak kac kaç px e esit oldugunu bılmem gerekıyor.

Örn: verdana 12 px (pixel) değerinde sayfaya yazıcamı varsayarsak, çektigim kelıme 'Deneme' olsun, burda her bır harf 12px genisliginde olmuyo, olsa string uzunlugu x 12 diyerek bu Deneme kelımesının kaç px (yatayda) yer kapsayacagını bulmam mumkun olucak ayda olamıcak.
Yanı sonuc olarak bı sekılde gelen strıngın içerinin kac pixel yer kapladıgını hesaplamak mumkunmudur, fontların herbırının genıslıklerı esıtmıdır v.s

Cumleler biraz garip oldu ama umarım derdımı anlatabılmısımdır.
İlgilenenlere sımdıden tesekkurler.
badtrip şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 17.12.2004   #2 (permalink)
 
holydreamer's Avatar
 
Üyelik Tarihi: 30.06.2004
Yer: İstanbul/Balıkesir
Yaş: 24
Mesaj: 140
Re: Bir stringin içeriginin pixel cinsinden değeri?

Bir kere o pixel değeri bir font karakterinin yatay değil, dikey maximum uzunluğunu verir. Örneğin e harfiyle d harfinin dikey uzunluğu aynı olmadığı için, o maximum pixel değeri d harfi için geçerlidir. 12 pixel değerindeki bir font gerçek 12 pixel uzunluğu d harfinde verir. Yatay pixel uzunluğu ise, harfin yapısına göre değişiklik gösterir. Mesela c harfiyle i harfi aynı yatay uzunlukta değillerdir. Bu çoğu fontta böyledir.

Ancak bazı fontlar vardır ki (mesela benim aklıma ilk gelen Lucida Console) karakterlerinin yatay pixel uzunluğu aynıdır. Yani c harfinin yatay uzunluğuyla i harfinin yatay uzunluğu eşittir. Bunu i gibi ince harflere farklı bir biçim vererek sağlar [bu biçim vermenin amacı da 1 pixel genişliğindeki i harfinin her iki yanında 5 pixel boşluğun (12 pixel için) bulunması bed duracağı içindir] ve ayrıca yine yetmeyen pixeller için de boşluğu arttırır. Sonuç olarak fazladan boşluklarla her bir harfin yatay uzunluğunu aynı yapar. Bunu otomatik olarak kendisi yaptığı için de, senin uygulamanda kullanmaya çalıştığın şekle uyum sağlar.

İyi çalışmalar.
holydreamer şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 17.12.2004   #3 (permalink)
 
cgencer's Avatar
 
Üyelik Tarihi: 02.08.2001
Yer: istanbul
Yaş: 38
Mesaj: 1,542
Re: Bir stringin içeriginin pixel cinsinden değeri?

bu olaya proportional font adı verilmektedir ve kelimelerin içindeki boşluklar daha üzgün olsun diye icad edilmiştir.
gelelim esas meseleye; sanırım yazıyı GDLibrary fonksiyonları ile hafızada render ederseniz ve render edilen parçanın boyutlarını ölçerseniz, istediğiniz genişiği de yüksekliği de bulabilirsiniz. dah ailkel bir metod da, fontların 100 puntoda her birinin kapladığı alanı pixel cinsinden bir tabloya kaydetmeniz ve basit bir rutinle string içindeki karakterlere göre gerekli genişlikleri toplamanız, sonrasında 100 punto olarak elde edilmiş bu değeri % cinsinden istediğiniz font boyuna göre bölmeniz. neden mi 100 punto kullandım? ufak boylarda +/- 1 pixel sapması çok sık olacaktır, ama büyük boylarda ölçümleme yapıp aritmetik olarak istediğiniz boya indirgediğinizde bu yarım piixel'lerin toplamı sonuçta çok daha doğru bir rakam elde etmenizi sağlayacaktır. dileyen 1000 de kullanabilir tabii ki.

bir ara bu yöntemi flash'da yazı alanları genişliğini tam tespit etmek için yapıyorduk, amma velakin flash'ın yeni hallerinde pek de gerek kalmıyor böyle cambazlıklara.
__________________
obsesif v2 + daha iyi net + uçuca + facebook + linkedin
cgencer şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

degeri , cinsinden , pixel , iceriginin , stringin



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.3 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 14:15.