Search code examples
imagewindows-phone-8.1windows-phone

Saving a polygon object into a bitmapimage in WIndows phone 8.1


I am working on a windows phone 8.1 app where I need to convert a polygon object to an image and ultimately save it as a png file. Till now, I created a polygon object with various properties. Now I'm clueless about the other parts.

        pol.Opacity = 0.5;
        System.Windows.Point Point1 = new System.Windows.Point(10, 200);
        System.Windows.Point Point2 = new System.Windows.Point(60, 140);
        System.Windows.Point Point3 = new System.Windows.Point(130, 140);
        System.Windows.Point Point4 = new System.Windows.Point(180, 200);
        System.Windows.Point Point5 = new System.Windows.Point(130, 260);
        System.Windows.Point Point6 = new System.Windows.Point(60, 260);
        PointCollection myPointCollection = new PointCollection();
        myPointCollection.Add(Point1);
        myPointCollection.Add(Point2);
        myPointCollection.Add(Point3);
        myPointCollection.Add(Point4);
        myPointCollection.Add(Point5);
        myPointCollection.Add(Point6);
        pol.Points = myPointCollection;
        var imageBrush = new ImageBrush();
        imageBrush.ImageSource = image.Source;
        pol.Fill = imageBrush;
        pol.Height = image.Height;
        pol.MaxHeight = image.Height;
        pol.MaxWidth = image.Width;
        pol.Width = image.Width;
        pol.Stroke = new SolidColorBrush(Colors.Red);
        pol.StrokeThickness = 2;
        pol.Margin = image.Margin;

Solution

  • You can use the WritableBitmap class in order to achieve this. I have a similar post on Silverlight, which you can refer: How to Crop an Image based on a Shape or Path control?. Hope that helps, at least gives some basic concepts. Let me know, if you need further help on this.