ما هي أفضل طريقة لرسم النص جنبا إلى جنب مع الهندسة ؟

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

  •  10-07-2019
  •  | 
  •  

سؤال

في WPF, بدأت استخدام الطبقات مثل LineGeometry, EllipseGeometry, GeometryGroup المسار...من أجل رسم الرسومات 2D.اخترت هذه الأشكال لأنني رأيت أنه يمكن أن يكون أسرع بفضل تجميد الميزة.

أنا بحاجة إلى رسم النص جنبا إلى جنب مع الهندسة محددة الخطوط.النص يحتاج إلى positionnable مع نفس نظام الإحداثيات مثل الهندسة.وأنا بحاجة إلى أن تكون قادرة على تطبيق تحويل مثل RotateTransform.

ما يمكن أن يكون أفضل طريقة ؟ لقد تشغيل عبر GlyphRunDrawing الدرجة لكنها معقدة حقا.

شكرا جزيلا مقدما.

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

المحلول

لإنشاء نص الهندسة فقط استخدام FormattedText.BuildGeometry ، على سبيل المثال ، الحصول على هندسة "نص العرض" في الخط تاهوما حجم 16 بكسل في نقطة (5,5) الاستخدام:

    FormattedText text = new FormattedText("Text to display",
        CultureInfo.CurrentCulture,
        FlowDirection.LeftToRight,
        new Typeface("Tahoma"),
        16,
        Brushes.Black);
    Geometry geometry = text.BuildGeometry(new Point(5, 5));

إذا كنت في حاجة للقيام بذلك في XAML يمكنك أن يختتم هذا الرمز في MarkupExtention

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