Files
PowerToys/doc/dsc/modules/ImageResizer.md
Gijs Reijn 3b6453c932 Improve DSC documentation (#42554)
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request

This documentation enhances the DSC documentation by incorporating
reference documents and providing examples.

Closes #42552.

<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist

- [x] Closes: #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx

<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments

<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed

---------

Co-authored-by: Niels Laute <niels.laute@live.nl>
2026-04-01 16:56:40 +08:00

8.2 KiB

description, ms.date, ms.topic, title
description ms.date ms.topic title
DSC configuration reference for PowerToys ImageResizer module 10/18/2025 reference ImageResizer Module

ImageResizer Module

Synopsis

Manages configuration for the Image Resizer utility, which provides quick image resizing from the Windows Explorer context menu.

Description

The ImageResizer module configures PowerToys Image Resizer, a Windows shell extension that allows you to resize one or multiple images directly from the File Explorer context menu. It supports custom size presets and various resize options.

Properties

The ImageResizer module supports the following configurable properties:

ImageResizerSizes

Defines the preset sizes available in the Image Resizer interface.

Type: array of objects
Object properties:

  • Name (string) - Display name for the preset
  • Width (integer) - Width value
  • Height (integer) - Height value
  • Unit (string) - Unit of measurement: "Pixel", "Percent", "Centimeter", "Inch"
  • Fit (string) - Resize mode: "Fit", "Fill", "Stretch"

ImageresizerSelectedSizeIndex

Sets the default selected size preset (0-based index).

Type: integer
Default: 0

ImageresizerShrinkOnly

Controls whether images are only resized if they're larger than the target size.

Type: boolean
Default: false

ImageresizerReplace

Controls whether resized images replace the original files.

Type: boolean
Default: false

ImageresizerIgnoreOrientation

Controls whether EXIF orientation data is ignored.

Type: boolean
Default: true

ImageresizerJpegQualityLevel

Sets the JPEG quality level for resized images (1-100).

Type: integer
Range: 1 to 100
Default: 90

ImageresizerPngInterlaceOption

Sets the PNG interlace option.

Type: integer
Allowed values:

  • 0 - No interlacing
  • 1 - Interlaced

Default: 0

ImageresizerTiffCompressOption

Sets the TIFF compression option.

Type: integer
Allowed values:

  • 0 - No compression
  • 1 - LZW compression
  • 2 - ZIP compression

Default: 0

ImageresizerFileName

Sets the naming pattern for resized images.

Type: string
Default: "%1 (%2)"
Placeholders:

  • %1 - Original filename
  • %2 - Size name
  • %3 - Selected width
  • %4 - Selected height
  • %5 - Actual width
  • %6 - Actual height

ImageresizerKeepDateModified

Controls whether the original file's modified date is preserved.

Type: boolean
Default: false

ImageresizerFallbackEncoder

Sets the fallback encoder for unsupported formats.

Type: string
Allowed values: "png", "jpg", "bmp", "tiff", "gif"
Default: "png"

Examples

Example 1 - Configure custom size presets with direct execution

This example defines custom image resize presets.

$config = @{
    settings = @{
        properties = @{
            ImageResizerSizes = @(
                @{
                    Name = "Small"
                    Width = 640
                    Height = 480
                    Unit = "Pixel"
                    Fit = "Fit"
                },
                @{
                    Name = "Medium"
                    Width = 1280
                    Height = 720
                    Unit = "Pixel"
                    Fit = "Fit"
                },
                @{
                    Name = "Large"
                    Width = 1920
                    Height = 1080
                    Unit = "Pixel"
                    Fit = "Fit"
                }
            )
        }
        name = "ImageResizer"
        version = "1.0"
    }
} | ConvertTo-Json -Depth 10 -Compress

PowerToys.DSC.exe set --resource 'settings' --module ImageResizer `
    --input $config

Example 2 - Configure quality settings with DSC

This example configures image quality and format options.

dsc config set --file imageresizer-quality.dsc.yaml
# imageresizer-quality.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
  - name: Configure Image Resizer quality
    type: Microsoft.PowerToys/ImageResizerSettings
    properties:
      settings:
        properties:
          ImageresizerJpegQualityLevel: 95
          ImageresizerShrinkOnly: true
          ImageresizerKeepDateModified: true
        name: ImageResizer
        version: 1.0

Example 3 - Install and configure with WinGet

This example installs PowerToys and configures Image Resizer with web-optimized presets.

winget configure winget-imageresizer.yaml
# winget-imageresizer.yaml
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json
metadata:
  winget:
    processor: dscv3
resources:
  - name: Install PowerToys
    type: Microsoft.WinGet.DSC/WinGetPackage
    properties:
      id: Microsoft.PowerToys
      source: winget
  
  - name: Configure Image Resizer
    type: Microsoft.PowerToys/ImageResizerSettings
    properties:
      settings:
        properties:
          ImageResizerSizes:
            - Name: Thumbnail
              Width: 320
              Height: 240
              Unit: Pixel
              Fit: Fit
            - Name: Web Small
              Width: 800
              Height: 600
              Unit: Pixel
              Fit: Fit
            - Name: Web Large
              Width: 1920
              Height: 1080
              Unit: Pixel
              Fit: Fit
          ImageresizerJpegQualityLevel: 85
          ImageresizerFileName: "%1_resized_%2"
        name: ImageResizer
        version: 1.0

Example 4 - Photography workflow

This example configures for photography with high quality and metadata preservation.

dsc config set --file imageresizer-photo.dsc.yaml
# imageresizer-photography.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
  - name: Photography configuration
    type: Microsoft.PowerToys/ImageResizerSettings
    properties:
      settings:
        properties:
          ImageresizerJpegQualityLevel: 100
          ImageresizerKeepDateModified: true
          ImageresizerIgnoreOrientation: false
          ImageresizerShrinkOnly: true
        name: ImageResizer
        version: 1.0

Example 5 - Social media presets

This example defines presets for social media platforms.

$config = @{
    settings = @{
        properties = @{
            ImageResizerSizes = @(
                @{ Name = "Instagram Square"; Width = 1080; Height = 1080; Unit = "Pixel"; Fit = "Fill" },
                @{ Name = "Instagram Portrait"; Width = 1080; Height = 1350; Unit = "Pixel"; Fit = "Fill" },
                @{ Name = "Facebook Cover"; Width = 820; Height = 312; Unit = "Pixel"; Fit = "Fill" },
                @{ Name = "Twitter Header"; Width = 1500; Height = 500; Unit = "Pixel"; Fit = "Fill" }
            )
            ImageresizerJpegQualityLevel = 90
        }
        name = "ImageResizer"
        version = "1.0"
    }
} | ConvertTo-Json -Depth 10 -Compress

PowerToys.DSC.exe set --resource 'settings' --module ImageResizer `
    --input $config

Use cases

Web development

Configure for web-optimized images:

resources:
  - name: Web optimization
    type: Microsoft.PowerToys/ImageResizerSettings
    properties:
      settings:
        properties:
          ImageresizerJpegQualityLevel: 85
          ImageresizerShrinkOnly: true
        name: ImageResizer
        version: 1.0

Content creation

Configure for social media and content platforms:

resources:
  - name: Content creation
    type: Microsoft.PowerToys/ImageResizerSettings
    properties:
      settings:
        properties:
          ImageResizerSizes:
            - Name: HD
              Width: 1920
              Height: 1080
              Unit: Pixel
              Fit: Fit
          ImageresizerJpegQualityLevel: 90
        name: ImageResizer
        version: 1.0

See also