ted mosby
ted mosby

Reputation: 49

cropping an image using ellipse shape in windows phone 8 application?

I am trying to crop my image using ellipse shape.I'll able to do that with rectangle but for ellipse not able to do.

    void ClipImage()
    {
        EllipseGeometry geo = new EllipseGeometry();

        r = (Ellipse)(from c in LayoutRoot.Children where c.Opacity == .5 select c).First();
        GeneralTransform gt = r.TransformToVisual(LayoutRoot);
        Point p = gt.Transform(new Point(0, 0));
        geo.Rect = new Rect(p.X, p.Y, r.Width, r.Height);
        image1.Clip = geo;
        r.Visibility = System.Windows.Visibility.Collapsed;

        TranslateTransform t = new TranslateTransform();
        t.X = -p.X;
        t.Y = -p.Y;
        image1.RenderTransform = t;
    }

r is ellipse and p is

 GeneralTransform gt = ((Ellipse)sender).TransformToVisual(LayoutRoot);
 Point p = gt.Transform(new Point(0, 0));

Upvotes: 0

Views: 110

Answers (1)

Mike Eason
Mike Eason

Reputation: 9713

It might be worth using an ImageBrush instead. You don't need to clip your image.

<Ellipse ... >
    <Ellipse.Fill>
        <ImageBrush ImageSource="..."/>
    </Ellipse.Fill>
</Ellipse>

Upvotes: 1

Related Questions