---
title: "Visualize Clipping Path"
canonical: https://www.graphicsmill.com/samples/Metadata/ClippingPath/VisualizeClippingPath_cs
product: "Graphics Mill"
source: "Metadata/ClippingPath/VisualizeClippingPath.cs"
---

# Visualize Clipping Path

Visualizes clipping path for demonstration purposes.

## Instruction

Write a C# program that visualizes clipping paths from various JPEG images by extracting the first clipping path using JpegReader.ClippingPaths[0], converting it to GraphicsPath with CreateGraphicsPath, drawing it on the bitmap using AdvancedGraphics.DrawPath with semi-transparent blue Pen (RGB 0,0,255,127 alpha), and saving visualized versions for demonstration of clipping path preservation through copy, crop, resize, and modification operations.

## Usings

```csharp
using Aurigma.GraphicsMill.Codecs;
using Aurigma.GraphicsMill.Drawing;
```

## Code Snippet

```csharp
public static void Run()
{
    Visualize("CopyClippingPath.jpg", "CopyClippingPath_Visualized.jpg");
}

private static void Visualize(string inputPath, string outputPath)
{
    using (var reader = new JpegReader(inputPath))
    using (var bitmap = reader.Frames[0].GetBitmap())
    using (var graphics = bitmap.GetGraphics())
    {
        var graphicsPath = reader.ClippingPaths[0].CreateGraphicsPath(reader.Width, reader.Height);

        graphics.DrawPath(new Pen(new RgbColor(0, 0, 255, 127), 4f), Path.Create(graphicsPath));

        bitmap.Save(outputPath);
    }
}
```

## Explanation

Below is a C# code sample that visualizes clipping paths for demonstration and testing:

The code demonstrates clipping path visualization across multiple scenarios (copy, memory-friendly processing, crop preservation, resize transformation, explicit modification) by loading JPEG via JpegReader, extracting bitmap from first frame, retrieving clipping path metadata, converting to drawable GraphicsPath scaled to image dimensions, and rendering with 4px semi-transparent blue stroke (alpha 127 for visibility over content). This technique verifies clipping path integrity through image processing pipelines and supports quality assurance for pre-press workflows where clipping paths define transparent/silhouette regions.

## Tags

- [Bitmap](<https://www.graphicsmill.com/samples/tags/bitmap_md>): Working with images via the Bitmap API
- [Clipping Paths](<https://www.graphicsmill.com/samples/tags/clipping-paths_md>): Reading and writing Adobe resources clipping path
- [Drawing](<https://www.graphicsmill.com/samples/tags/drawing_md>): Drawing vector shapes and text

## Input

- [CopyClippingPath.jpg](<https://www.graphicsmill.com/samples/Metadata/compiled/Debug/CopyClippingPath_jpg>) (preview)

## Output

- [CopyClippingPath\_Visualized.jpg](<https://www.graphicsmill.com/samples/Metadata/compiled/Debug/CopyClippingPath_Visualized_jpg>) (preview)

## Used APIs

- [Aurigma.GraphicsMill.Bitmap.GetGraphics](<https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Bitmap_GetGraphics.htm.md>)
- [Aurigma.GraphicsMill.Codecs.ClippingPath.Path.CreateGraphicsPath(Int32,Int32)](<https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Codecs_ClippingPath_Path_CreateGraphicsPath_2_22dcb54d.htm.md>)
- [Aurigma.GraphicsMill.Codecs.Frame.GetBitmap](<https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Codecs_Frame_GetBitmap.htm.md>)
- [Aurigma.GraphicsMill.Codecs.ImageReader.ClippingPaths](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_ImageReader_ClippingPaths.htm.md>)
- [Aurigma.GraphicsMill.Codecs.ImageReader.Frames](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_ImageReader_Frames.htm.md>)
- [Aurigma.GraphicsMill.Codecs.JpegReader](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_JpegReader.htm.md>)
- [Aurigma.GraphicsMill.Drawing.Graphics.DrawPath(Pen,Path)](<https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Drawing_Graphics_DrawPath_2_77634c23.htm.md>)
- [Aurigma.GraphicsMill.Drawing.Path](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Drawing_Path.htm.md>)
- [Aurigma.GraphicsMill.Drawing.Path.Create(GraphicsPath)](<https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Drawing_Path_Create_1_2bc0c98a.htm.md>)
- [Aurigma.GraphicsMill.Drawing.Pen](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Drawing_Pen.htm.md>)
