Post-Processing

Scanlines

Scanlines overlay horizontal lines that simulate the look of CRT monitors and old televisions. This effect adds authentic retro character to any visual, especially when combined with VHS or pixel art effects.

Example Configuration

scanlines.json
{
  "effect": {
    "postProcesses": [
      {
        "id": "pp_scanlines",
        "type": "scanlines",
        "enabled": true,
        "settings": {
          "intensity": 0.3,
          "count": 400
        }
      }
    ]
  }
}

Settings

PropertyTypeRangeDefaultDescription
intensitynumber0-10.3Darkness/visibility of scanlines
countnumber100-1000400Number of scanlines across the image

How It Works

CRT displays draw images line by line. Between each line of phosphors is a small gap. At close viewing distances, these gaps become visible as dark horizontal lines. The scanlines effect replicates this characteristic look.

  • Lines are drawn at regular intervals across the image
  • The intensity controls how dark the lines appear
  • Count determines the density of the lines (higher = more lines)
  • Lower intensity creates subtle texture, higher creates dramatic effect

Suggested Presets

StyleSettings
Subtle CRTintensity: 0.15, count: 500
Classic TVintensity: 0.3, count: 400
Heavy Retrointensity: 0.5, count: 200

API Usage

render-request.json
POST /api/v1/render
{
  "state": {
    "canvas": {
      "aspectRatio": "16:9",
      "backgroundColor": "#1a1a1a"
    },
    "layers": [...],
    "selectedLayerId": null,
    "effect": {
      "effectId": "ascii-standard",
      "enabled": true,
      "postProcesses": [
        {
          "id": "pp_1",
          "type": "scanlines",
          "enabled": true,
          "settings": {
            "intensity": 0.4,
            "count": 300
          }
        }
      ]
    }
  },
  "format": "png",
  "width": 1920,
  "height": 1080
}

Tips

  • Combine with VHS glitch for authentic retro video look
  • Works great with ASCII and pixel art effects
  • Keep intensity low (0.1-0.3) for subtle texture
  • Match count to your output resolution for consistent appearance
  • Pair with curvature and vignette for full CRT monitor effect