برنامج الأغذية العالمي - ارتفاع قماش بالبكسل

StackOverflow https://stackoverflow.com/questions/611427

  •  03-07-2019
  •  | 
  •  

سؤال

وكيف يمكنني تحديد العرض بالبكسل للقماش (التي لديها عرض معين)؟

ولدي نقطية في عنصر تحكم AnimatedImage، وأنا أعلم عرض الصورة النقطية في بكسل، وأريد أن حجم الصورة النقطية بحيث يناسب أفقيا بالضبط قماش. كيف يمكنني تحديد هذا النطاق؟

ملحوظة: أنا لست بحاجة إلى استخدام RenderTargetBitmap، لأنه يتم تحميل الصورة النقطية بالفعل

.
هل كانت مفيدة؟

المحلول

في وحدة WPF هي جهاز مستقل. الصيغة لمعرفة حجم بكسل الفعلي من وحدة هي:

وبكسل لكل وحدة WPF = حجم ConstantWPFUnit * مراقبة DPI؛

وحجم العنصر الخاص بك في بكسل = بكسل لكل وحدة WPF * MyElement.ActualWidth

ووالمستمر WPF حجم الوحدة 1/96. إذا كنت أتذكر بشكل صحيح الشاشة DPI يمكن العثور كخصائص في الدرجة عاد من SystemInformation.GetPrimaryMonitor أو شيئا من هذا القبيل.

وActualWidth من FrameworkElement هو في وحدات مستقلة عن الأجهزة وهو العرض عنصر يأخذ فعليا حتى بعد يأخذ تخطيط المكان. ببساطة مضاعفة هذا العقار من قبل بكسل لكل وحدة WPF على حساب أعلاه وسيكون لديك إجابتك.

ولدي شكوك أن تفعل الكثير لالترميز اليدوي ولكن. يمكن عادة تمتد الصور والعناصر البصرية الأخرى بأي شكل من الأشكال المطلوب أن يتحقق ببساطة عن طريق تحديد الخصائص على السيطرة / الفرشاة في السؤال. هل حاولت صنع HorizontalAlignment = "تمدد" وVerticalAlignment = "المركز" للعنصر الذي يحتوي على الصورة النقطية؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top