Могу ли я использовать WriteableBitmap Silverlight для сохранения невидимых частей моего пользовательского интерфейса в растровое изображение?

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

Это вопрос осуществимости, и поэтому у меня нет кода, которым можно поделиться.


person r0u1i    schedule 04.08.2011    source источник


Ответы (1)


да. Вы можете визуализировать любой UIElement (и его дочерние элементы) в записываемое растровое изображение.

Когда вы делаете это, вы также указываете преобразование. Это означает, что вы можете отобразить любую часть UIElement (если вам это не нужно).

Является ли он «видимым» на экране, совершенно не имеет отношения к рендерингу растрового изображения. Это не работает как захват экрана.

Обрезка вывода зависит исключительно от размера целевого растрового изображения и предоставленного преобразования рендеринга.

Например, Silverlight Вращение и масштабирование растрового изображения, чтобы оно соответствовало прямоугольнику без обрезки, использует UIElements, которые никогда не являются частью визуального дерева, для создания растрового изображения, которое затем визуализируется.

person Gone Coding    schedule 04.08.2011
comment
Спасибо. Дополнительный вопрос: означает ли это, что я могу сохранить UIElement, который в данный момент не отображается на экране? - person r0u1i; 04.08.2011
comment
да. Вы можете визуализировать любой UIElement, прикрепленный к визуальному дереву или нет. Добавлена ​​ссылка на другой [действительно классный] ответ :) - person Gone Coding; 04.08.2011
comment
@TrueBlueAussie, где вы добавили ссылку? - person Ragavan; 29.10.2013
comment
@ User121212: Единственная ссылка в ответе — это та, которую я имел в виду: stackoverflow.com/questions/6801546/ - person Gone Coding; 29.10.2013
comment
@TrueBlueAussie Мой вопрос, есть ли у меня средства UIelement без рендеринга, как сохранить как изображение в Silverlight? - person Ragavan; 07.11.2013
comment
@ User121212: Пожалуйста, задавайте вопросы как вопрос о переполнении стека. Пример, показанный в ссылке, отображает растровое изображение, отсоединенное от экрана (это то, что вы хотите). - person Gone Coding; 07.11.2013