InkPresenter рисует только в прозрачной области

1

У меня есть InkPresenter и это изображение с прозрачным фоном. Я хочу, чтобы мои штрихи рисовались только в прозрачной области и игнорировали черную границу формы. Как это возможно? Изображение 174551

  • 0
    отсечение может помочь вам здесь. Не могли бы вы поделиться примером кода?
Теги:
xaml
wpf
windows-phone-8
windows-phone-7

2 ответа

0
Лучший ответ

Я смог решить свою проблему с помощью маски Opacity:

<InkPresenter.OpacityMask>
     <ImageBrush ImageSource="{Binding ImageMask}" />
</InkPresenter.OpacityMask>
0

вот пример использования WPF, то же самое относится к InkPresenter, вы можете использовать свойство InkPresenter.Clip для определения области клипа

<Border BorderBrush="Green"
        BorderThickness="1"
        Width="200"
        Height="200">
    <Grid>
        <InkCanvas>
            <InkCanvas.Clip>
                <EllipseGeometry  RadiusX="98"
                                  RadiusY="98"
                                  Center="100,100" />
            </InkCanvas.Clip>
        </InkCanvas>
        <Ellipse Stroke="Blue"
                 StrokeThickness="2" />
    </Grid>
</Border>

результат

Изображение 174551

  • 0
    Дело в том, что я хотел, чтобы клип делался по образу, а не по форме. Я решил это с помощью OpacityMask.
  • 1
    Отличная находка! маска непрозрачности идеально подходит, если прозрачная область основана на изображении. клип на основе геометрии может использоваться, когда есть необходимость в масштабируемой маске. счастливого кодирования :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню