Eğer bunu javascript/mootools içinde yapıyorsanız, CSS units arkadaşınız. Boyutları inç veya santimetre cinsinden veya hatta (bir inçin 1/72'si) olarak belirtebilirsiniz. Bu birimlerde boyutları belirtebilmeseniz bile her ne sebeple olursa olsun DPI'ya ihtiyacınız varsa, bilinen bir boyuta sahip olduğunuz ve yeniden boyutlandırılan piksel boyutundan hesapladığınız "yeniden boyutlandırılabilir" div boyutunu sadece boyutlandırın.
Düzenleme:
Maalesef puan, cm ve CSS birimleri fiziksel doğru değil. Sadece nispeten doğrudur. Bu benim ilk kez denedim ve çalışmadığını fark ettim ve CSS spesifikasyonunu kontrol ettim .. benim dehşet. - Brandon Pelfrey iyi bir nokta
; tarayıcılar, varsayılan bir DPI (72 veya 96'yı düşünüyorum) ve bununla başa çıkarak bunu gerçekleştirme eğilimindedir.
İstediğiniz gibi hassas boyutlandırmaya ihtiyacınız varsa, şansınız kalmadı. Hem tarayıcının açık olduğu monitörün mevcut çözünürlüğünü hem de o monitörün "görüntülenebilir ekran alanı" nı okumadan asla alamayacaksınız. Bunu Javascript yoluyla elde edemezsin.
Tarayıcıların yaptığı ve CSS birimlerine göre boyutlandırdığı varsayılan varsayımı yaptığınızı öneririm. Daha sonra, kullanıcılarınızın, belirtilen yöntemi kullanarak "boyutlandırmayı ayarlamasına" izin verebilirsiniz, ancak yalnızca gerekiyorsa . Bunu, kullanıcı oturumunun bir parçası olarak veya bir çerez olarak saklanan DPI hesaplamasıyla ayrı bir sayfada yapın. Alternatif olarak, Microsoft bir kez this bug'u düzelttiğinde, doğru ölçeklendirme için Silverlight'ın "aygıttan bağımsız ünitelerini" kullanabilirsiniz.
Olası yinelenen [JS/CSS sistem DPI/ÜFE algılama?] (http://stackoverflow.com/questions/279749/detecting-the-system-dpi-ppi-from -js-css) – Endless