المشاركات : 7
المواضيع 5
:
: 0
الإنتساب : May 2010
هنالك طريقة سهلة لمعرفة قياس الشاشة المنطقي بالبيكسل من خلال تعليمة Screen و لكن لا أعلم كيف يمكنني الحصول على القياس الفيزيائي لقطر الشاشة بالإنش، مثلاُ أنا أستخدم شاشة قياس 15" و لكن كيف يمكن من خلال دلفي إكتشاف ذلك؟ أفيدون جزاكم الله خيرا
المشاركات : 219
المواضيع 24
:
: 16
الإنتساب : May 2009
السلام عليكم
باستخدام الدالة : GetDeviceCaps
والتي تقوم بارجاع قدرات الطرفية المراد الاستعلام عنها.
نمرر للدالة فهرس المعلومةHORZRES لتعطينا عرض الشاشة بالمليمتر، بعدها يمكن تحويلها إلى بوصة (بوصة = 25.4 ملم).
PHP كود :
procedure TForm1.bt2Click(Sender: TObject);
var
Mlm: integer;
Inch: single;
Hwnd: integer;
begin
Hwnd := GetDC(0);
Mlm := GetDeviceCaps(Hwnd, HORZSIZE);
Inch := Mlm /25.4;
caption := FloatToStr(Inch);
ReleaseDC(0, Hwnd);
end;
يمكن الاستعانة بملف المساعـدة على GetDeviceCaps للاطلاع على فهارس القدرات التي يمكن الاستعلام عنها.
المشاركات : 7
المواضيع 5
:
: 0
الإنتساب : May 2010
أشكرك كثيراً على هذه النصيحة و بالفعل طبقتها مباشرة
و لكن ماذا حصل؟
النتائج لم تكن دقيقة كما هو متوقع بالميليميتر
في الواقع كان الفرق حوالي 3 بوصة!
نعم
فالبارامتر HorzSize يعطي عرض الشاشة بالميليمتر و لكنه أعطاني عرضاً أكبر بحوالي 60ملم زيادة
و البارامتر VertSize يعطي طول الشاشة بالميليمتر كذلك أعطاني طولاً أكبر بحوالي 40 ملم زيادة
و منه نسنتج القطر = الجذر التربيعي( مربع الطول + مربع العرض) و هو رقم كبير أيضاً
فمثلاُ شاشتي ذات قطر 15" و لكن بهذا الحساب أعطاني الحاسب 17.7"
فما الحل؟
المشاركات : 219
المواضيع 24
:
: 16
الإنتساب : May 2009
السلام عليكم
نعم النتائج غير دقيقة.
أيضا المعادلة التالية تعطي نتائج مختلفة
(Screen.Width / Screen.PixelsPerInch)
الحل الأمثل هو استخدام المسطرة !!