Modify Clipping Path Explicitly

Clipping Paths Read Write Bitmap Crop

Modifies clipping path explicitly.

Сode Snippet

using (var reader = new JpegReader("Apple.jpg"))
using (var bitmap = reader.Frames[0].GetBitmap())
{
    var crop = new Crop(20, 20, bitmap.Width - 40, bitmap.Height - 40);

    var cropped = crop.Apply(bitmap);

    var clippingPath = reader.ClippingPaths[0];

    clippingPath.ApplyTransform(crop.GetPathTransformMatrix(bitmap.Width, bitmap.Height).ToGdiPlusMatrix());

    var adobeResources = new AdobeResourceDictionary();
    adobeResources.Add(FirstPathId, new AdobeResourceBlock("Apple", clippingPath.Data));

    var jpegSettings = new JpegSettings();
    jpegSettings.AdobeResources = adobeResources;

    cropped.Save("ModifyClippingPathExplicitly.jpg", jpegSettings);
}

Input

Apple.jpg

Output

ModifyClippingPathExplicitly.jpg

For AI-assisted development: Download Graphics Mill Code Samples XML Catalog