Write Adobe Image Resource Block

Adobe Resources

Write copyright XMP block.

Сode Snippet

public static void Run()
{
    Write("Chicago.jpg", "Chicago_AdobeResourceBlock.jpg");
    Write("Venice.jpg", "Venice_AdobeResourceBlock.jpg");
}

private static void Write(string inputPath, string outputPath)
{
    using (var reader = new JpegReader(inputPath))
    using (var writer = new JpegWriter(outputPath))
    {
        var adobeResources = reader.AdobeResources;
        if (adobeResources == null)
        {
            adobeResources = new AdobeResourceDictionary();
        }

        // Create new adobe image resource block with the required metadata
        var arBlock = new AdobeResourceBlock("Copyright", new byte[] { 1 });

        // Set this block to the item with 0x040A ID (copyright flag)
        adobeResources[0x040A] = arBlock;

        // Remove a block with 0x0409 (thumbnail data)
        adobeResources.Remove(0x0409);

        writer.AdobeResources = adobeResources;
        Pipeline.Run(reader + writer);
    }
}

Input

Chicago.jpg

Venice.jpg

Output

Chicago_AdobeResourceBlock.jpg

Venice_AdobeResourceBlock.jpg

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