Как лучше всего копировать / клонировать кисти? - PullRequest
2 голосов
/ 27 марта 2011

Перед рисованием фигуры на холсте у меня есть предварительный просмотр, который показывает, как будет выглядеть фигура. Я могу настроить непрозрачность, а затем нарисовать форму. Затем я могу захотеть нарисовать вторую фигуру с другой непрозрачностью. Моя проблема в том, что изменение непрозрачности предварительного просмотра также изменяет непрозрачность фигуры, которую я уже нарисовал.

Это привело меня к мысли, что мне нужно каждый раз создавать копию кисти, используемой для предварительного просмотра перед рисованием фигуры.

Существуют различные различные кисти, и, например, градиентные кисти требуют создания копии не только коллекции градиентных остановок, но и новой остановки градиента для каждой остановки градиента в коллекции, подлежащей копированию.

Я здесь на правильном пути или мне следует заняться чем-то другим? Должен ли я копировать или клонировать? Будет ли метод расширения лучшим способом? Мысли, пожалуйста.

1 Ответ

2 голосов
/ 27 марта 2011

Что вам нужно, так это клонирование, это было бы легко в wpf с XamlWriter / Reader, к сожалению, вы не можете сделать это в Silverlight.Метод расширения на Brush, который делает глубокую копию, будет работать нормально в вашем случае.Вам придется обрабатывать разные типы кистей отдельно, но это не должно быть проблемой, так как их не так много.

...