MCPcopy Index your code
hub / github.com/simstudioai/sim / renderEmfBitmap

Function renderEmfBitmap

apps/sim/lib/pptx-renderer/renderer/image-renderer.ts:441–467  ·  view source on GitHub ↗

* Render an embedded DIB bitmap from EMF.

(
  imageData: ImageData,
  wrapper: HTMLElement,
  ctx: RenderContext,
  mediaPath: string
)

Source from the content-addressed store, hash-verified

439 * Render an embedded DIB bitmap from EMF.
440 */
441function renderEmfBitmap(
442 imageData: ImageData,
443 wrapper: HTMLElement,
444 ctx: RenderContext,
445 mediaPath: string
446): void {
447 const cacheKey = `${mediaPath}:emf-bitmap`
448 const cached = ctx.mediaUrlCache.get(cacheKey)
449 if (cached) {
450 wrapper.appendChild(createFillImage(cached))
451 return
452 }
453
454 const canvas = document.createElement('canvas')
455 canvas.width = imageData.width
456 canvas.height = imageData.height
457 const canvasCtx = canvas.getContext('2d')
458 if (!canvasCtx) return
459
460 canvasCtx.putImageData(imageData, 0, 0)
461 canvas.toBlob((blob) => {
462 if (!blob) return
463 const url = URL.createObjectURL(blob)
464 ctx.mediaUrlCache.set(cacheKey, url)
465 wrapper.appendChild(createFillImage(url))
466 }, 'image/png')
467}
468
469/**
470 * Create an <img> element that fills its container.

Callers 1

renderEmfFunction · 0.85

Calls 4

createFillImageFunction · 0.85
toBlobMethod · 0.80
getMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected