Как сделать маску слоя в Silverlight? - PullRequest
0 голосов
/ 14 апреля 2011

У меня есть объект изображения и объект прямоугольника. Теперь я хочу, чтобы изображение было видимым только там, где находится прямоугольник, все остальное должно иметь непрозрачность 0,5 - результат должен выглядеть примерно так:

example

Когда я устанавливаю непрозрачность прямоугольника на 0,5, эффект становится антиподом - так как я могу это реализовать, как показано на рисунке? Размер и положение прямоугольника изменяются с помощью кода, но это не должно иметь никакого значения ...

Все советы приветствуются:)

1 Ответ

2 голосов
/ 14 апреля 2011

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

<Grid>
  <Image Source="myImage.jpg" Opacity="0.5/>
  <Image Source="myImage.jpg" >
   <Image.Clip>
     <RectangleGeometry Rect="x,y,w,h"/>
   </Image.Clip>
  </Image>

</Grid>

Где x, y, w и h - ваше положение и размер прямоугольника (см. MSDN ).Если вы хотите переместить видимую часть вокруг, установите свойство Clip по коду.

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

Хотите больше информации?

...