При использовании класса ScaleTransform
Silverlight также масштабирует толщину обводки фигур, которые я отображаю. Но что, если я не хочу такого поведения? Можно ли отключить масштабирование штрихов, или мне придется перебирать каждый объект формы и устанавливать обратную толщину?
Запретить Silverlight масштабирование ширины линии
Ответы (1)
ScaleTransform
— это преобразование рендеринга. Он не меняет основной макет, а просто меняет способ его отображения на экране. Невозможно иметь шкалу точек, но не иметь шкалу толщины линии.
person
Stephan
schedule
06.07.2010
Безусловно, любая линия определяется своими конечными точками и толщиной. Толщину также имеет смысл масштабировать, но еще более целесообразно иметь возможность ее отключить. OpenGL и Direct3D работают только с вершинами, а растеризатор отрисовывает линии прямо в задний буфер, не заботясь о каких-либо преобразованиях, поскольку вершины уже есть. Если это невозможно, то это потому, что это было сделано Microsoft, а не потому, что это невозможно по своей сути.
- person Cario Dactylus; 07.07.2010
Я говорил чисто в контексте Silverlight. Я знаю, что можно реализовать способ сделать это, но способ преобразования рендеринга в работе SL не позволяет делать это автоматически.
- person Stephan; 07.07.2010