diff --git a/src/core-interfaces.ts b/src/core-interfaces.ts index bf41a113f..d2a222d6a 100644 --- a/src/core-interfaces.ts +++ b/src/core-interfaces.ts @@ -455,6 +455,12 @@ export interface ImageProps extends PositionProps, DataOrPathProps { * @default false */ rounding?: boolean + /** + * Transparency (percent) + * - range: 0-100 + * @default 0 + */ + transparency?: number /** * Image sizing options */ diff --git a/src/gen-objects.ts b/src/gen-objects.ts index e20cd18ec..8e26e00e2 100644 --- a/src/gen-objects.ts +++ b/src/gen-objects.ts @@ -414,6 +414,7 @@ export function addImageDefinition(target: PresSlide, opt: ImageProps) { rotate: opt.rotate || 0, flipV: opt.flipV || false, flipH: opt.flipH || false, + transparency: opt.transparency || 0, } // STEP 4: Add this image to this Slide Rels (rId/rels count spans all slides! Count all images to get next rId) diff --git a/src/gen-xml.ts b/src/gen-xml.ts index eebfee559..245d96a6d 100644 --- a/src/gen-xml.ts +++ b/src/gen-xml.ts @@ -569,6 +569,7 @@ function slideObjectToXml(slide: PresSlide | SlideLayout): string { let imageOpts = slideItemObj.options as ImageProps let sizing = imageOpts.sizing, rounding = imageOpts.rounding, + transparency = imageOpts.transparency, width = cx, height = cy @@ -594,6 +595,7 @@ function slideObjectToXml(slide: PresSlide | SlideLayout): string { (slide._relsMedia || []).filter(rel => rel.rId === slideItemObj.imageRid)[0]['extn'] === 'svg' ) { strSlideXml += '' + strSlideXml += ` ` strSlideXml += ' ' strSlideXml += ' ' strSlideXml += ' ' @@ -601,7 +603,9 @@ function slideObjectToXml(slide: PresSlide | SlideLayout): string { strSlideXml += ' ' strSlideXml += '' } else { - strSlideXml += '' + strSlideXml += '' + strSlideXml += ` ` + strSlideXml += '' } if (sizing && sizing.type) { let boxW = sizing.w ? getSmartParseNumber(sizing.w, 'X', slide._presLayout) : cx,