a:blip (Blip/Image Reference)

Specifies an image/picture reference that can be embedded, linked, or modified with effects.

Description

\:blip\ is the DrawingML element that references an image/picture for use in presentations, documents, and spreadsheets. It is defined in ECMA-376 Part 1 §20.1.2.2.1.

Blip elements provide:

  • Embedded images: Store image data within package
  • Linked images: Reference external image files
  • Image effects: Apply filters (grayscale, duotone, tint, saturation)
  • Alpha/transparency: Adjust image opacity
  • Color modifications: Brighten, darken, recolor images
  • Relationship management: Link to image relationships

Blip elements support:

  • JPEG, PNG, GIF, BMP, TIFF, WMF, EMF image formats
  • Embedded and linked image modes
  • Multiple image effect filters
  • Compression and optimization
  • Color space specifications

Blip differs from:

  • Blip fill (\:blipFill) — Shape fill using image (contains blip)
  • Picture (\p:pic) — Picture shape in presentations
  • Image source — Raw file (blip references it)

Attributes

Attribute Type Description
\    
:embed\ Relationship ID References embedded image relationship
\    
:link\ URI URL/path to linked external image
\cstate\ Compression state “none”, “print”, “screen”

Note: Either
:embed\ (embedded) OR
:link\ (linked), not both.

Content Model

\:blip\ children (all optional, 0–1):

  1. Image effects (choose one or more):
    • \:alphaModFix\ — Fixed alpha modification
    • \:alphaMod\ — Alpha modulation with effect
    • \:alphaRepl\ — Alpha replacement
    • \:duotone\ — Duotone effect
    • \:grayscl\ — Grayscale effect
    • \:lumMod\ — Luminance modulation
    • \:lumOff\ — Luminance offset
    • \:tint\ — Color tint
    • \:shade\ — Color shade
    • \:sat\ — Saturation
    • \:satMod\ — Saturation modulation
    • \:hue\ — Hue shift
    • \:cSpc\ — Color space
  2. a:ext (0–1) — Extended properties (future)

Examples

Simple Embedded Image

<a:blipFill>
  <a:blip r:embed="rId4" cstate="print">
    <a:alphaModFix amt="100000"/>
  </a:blip>
  <a:stretch>
    <a:fillRect/>
  </a:stretch>
</a:blipFill>

Linked External Image

<a:blipFill>
  <a:blip r:link="https://example.com/image.jpg" cstate="screen"/>
  <a:stretch>
    <a:fillRect/>
  </a:stretch>
</a:blipFill>

Image with Grayscale Effect

<a:blip r:embed="rId4">
  <a:grayscl/>
</a:blip>

Image with Duotone Effect

<a:blip r:embed="rId4">
  <a:duotone>
    <a:srgbClr val="0070C0"/>
    <a:srgbClr val="FFD700"/>
  </a:duotone>
</a:blip>

Image with Tint and Transparency

<a:blip r:embed="rId4">
  <a:alphaMod>
    <a:alphaModFix amt="75000"/>
  </a:alphaMod>
  <a:tint val="CCE5FF"/>
</a:blip>

Image with Saturation Adjustment

<a:blip r:embed="rId4">
  <a:satMod val="150000"/>
</a:blip>

Image Format Support

Format Extension Compression Support
JPEG .jpg, .jpeg Lossy Full
PNG .png Lossless Full
GIF .gif Lossless Full
BMP .bmp Uncompressed Full
TIFF .tif, .tiff Lossless Full
WMF .wmf Vector Full
EMF .emf Vector Full
SVG .svg Vector Partial

Compression States

State Purpose Output
none No compression Original quality, larger file
print Print-quality compression Optimized for printing (300 DPI)
screen Screen-quality compression Optimized for display (72-96 DPI)

Image Effects Reference

Transparency Effects

Effect Purpose Parameters
\:alphaModFix\ Fixed alpha (opacity) amt: 0-100000 (0% = transparent, 100% = opaque)
\:alphaMod\ Alpha modulation with effect Nested effect element
\:alphaRepl\ Replace alpha channel a: 0-100000

Color Effects

Effect Purpose Parameters
\:grayscl\ Convert to grayscale None (binary effect)
\:duotone\ Two-color effect Color1, Color2 (srgbClr or schemeClr)
\:tint\ Color tint overlay val: RGB hex value
\:shade\ Darken with black val: 0-100000 (darker)
\:sat\ Absolute saturation val: 0-100000
\:satMod\ Saturation modification val: 0-100000 (50000 = no change)
\:hue\ Hue rotation val: 0-21600000 (1/60000 degree)
\:lumMod\ Luminance modulation val: 0-100000
\:lumOff\ Luminance offset val: -100000 to +100000

Composite Effects

Multiple effects can be applied (processed in order):

xml <a:blip r:embed="rId4"> <a:grayscl/> <a:satMod val="80000"/> <a:lumMod val="120000"/> </a:blip>

Processed: Grayscale → Reduce saturation → Increase luminance

Relationship Management

Embedded Images

Relationship file (document.xml.rels or similar):

`xml

`

Reference in blip:

xml <a:blip r:embed="rId4"/>

Linked Images

Direct URL or path:

xml <a:blip r:link="https://example.com/image.jpg"/>

No relationship needed for external links.

Alpha Modulation Values

Value Meaning Transparency
0 Fully transparent 100% transparent
25000 25% opaque 75% transparent
50000 50% opaque 50% transparent
75000 75% opaque 25% transparent
100000 Fully opaque 0% transparent

Common Patterns

Standard Embedded Image

xml <a:blip r:embed="rId4" cstate="print"> <a:alphaModFix amt="100000"/> </a:blip>

Linked Web Image

xml <a:blip r:link="https://example.com/logo.png"/>

Image with Multiple Effects

xml <a:blip r:embed="rId4"> <a:grayscl/> <a:satMod val="75000"/> <a:lumMod val="110000"/> <a:alphaMod> <a:alphaModFix amt="80000"/> </a:alphaMod> </a:blip>

Blip in Context

Full picture example:

`xml

...

`

Rendering Behavior

Effect When Applied Visual Result
Transparency Before other effects Base alpha layer
Grayscale Early in chain Converts color → gray
Saturation Mid-chain Adjusts color intensity
Duotone Late in chain Maps to two colors
Luminance Post-processing Final brightness adjustment

Compatibility Matrix

Feature PowerPoint Word Excel Notes
Embedded images ✓ ✓ ✓ Full support
Linked images ✓ ✓ ✓ URL depends on context
Grayscale ✓ ✓ ✓ Consistent
Duotone ✓ Partial Partial PowerPoint best
Alpha effects ✓ ✓ ✓ Full support
Compression states ✓ ✓ ✓ Full support

Notes

Element Characteristics

  • Image reference: Points to embedded or external image
  • Effect container: Holds multiple image effect filters
  • Chainable: Multiple effects applied sequentially
  • Relationship-based: Embedded images via r:embed ID
  • Compression-aware: Supports different quality levels

Best Practices

  • Use embedded images for standalone documents/templates
  • Use linked images for frequently-updated web content
  • Apply grayscale for printing (reduces file size)
  • Use compression states: print=300 DPI, screen=96 DPI
  • Chain effects carefully (order matters)
  • Test effect rendering across Office versions
  • Document effect sequences in templates
  • Validate linked URLs remain accessible

Performance

  • Embedded: Larger file size, portable
  • Linked: Smaller file, requires external access
  • Compressed: Significantly reduces file size (print/screen)
  • Effects: Processing overhead minimal on modern systems
  • Caching: Office caches effect rendering

File Size Optimization

  • Use compression: print/screen reduces file 10-50%
  • Crop images before embedding
  • Remove unnecessary effects
  • Convert large bitmaps to vector where possible
  • Consider image dimensions vs display size

Compatibility Notes

  • Older Office versions may not render all effects
  • PDF export applies all effects
  • Web display effects depend on target platform
  • Some effects (duotone) most reliable in PowerPoint