문제

나는있다 Canvas XAML에 스케일 번역이 적용됩니다. 사용 DrawingContext 나는 선을 그린다 Canvas. 이제 화면에 텍스트를 추가해야합니다. 형식화 된 텍스트로 번역을 적용 할 수 있다고 생각했지만 형식화 된 텍스트 나 DrawingContext RenderTransform. 캔버스의 스케일 변환에 대응할 수 있도록 텍스트에 스케일 변환을 어떻게 적용합니까?

 ftext = New FormattedText("N", CultureInfo.GetCultureInfo("en-us"), Windows.FlowDirection.LeftToRight, face, Me.DBFontSize, FalconDataBlock.Foreground)
 context.DrawText(ftext, .TargetLineInfo.EndAsWinPoint)
도움이 되었습니까?

해결책

대부분의 UI 앱에서 DrawsContext를 사용하는 대신 옳은 일은 캔버스에 어린이 텍스트 블록을 추가하고 TextBlock의 RenderTransform을 변경하는 것일 수 있습니다.

그러나 DrawingContext를 사용해야 할 좋은 이유가 있다고 가정하면 사용할 수 있습니다. DrawingContext.pushTransform DrawText를 호출하기 직전에 필요한 변환 (스케일, 번역 등)을 밀어 넣으십시오. 사용 DrawingContext.pop DrawText를 완료 한 후 이전 상태를 복원합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top