Как повысить качество Silverlight WritableBitmap при замене UIElements для анимации - PullRequest
2 голосов
/ 06 июня 2010

Я делаю анимацию, где я временно опускаю видимость UIElement s и накладываю WritableBitmap версии оригинальных Image.

Проблема, с которой я столкнулся, заключается в том, что когда я делаю это для элемента с текстом, это приводит к заметно размытому и темному изображению, означающему, что переключение с UIElement на Image заметно.

Кто-нибудь сталкивался с этим и / или знает, как решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 07 июня 2010

Для стандартного рендеринга текста Silverlight использует ClearType. К сожалению, ClearType не может быть использован для рендеринга текста в WritableBitmap. Вот почему вы видите разницу в качестве текста в вашем сценарии. Кстати, установка CacheMode в BitmapCache или использование пиксельных шейдеров также отключит ClearType (см. http://forums.silverlight.net/forums/p/109627/247959.aspx)

Поскольку качество текста, отображаемого в WritableBitmap, не может быть улучшено, единственное решение, которое я могу придумать, - это снизить качество визуализации текста вашего интерфейса, используя один из методов, упомянутых выше.

1 голос
/ 06 июня 2010

Рассматривали ли вы добавление

<param name="EnableGPUAcceleration" value="true" />

для вставки тега объекта и

<xxxxx CacheMode="BitmapCache">

....

</xxxxx>

Где xxxxx - это элемент, который в противном случае вы бы покрыли WritableBitmap. При таком подходе, возможно, WritableBitmap не понадобится вообще.

...