Каюсь, я с svg мало знаком, мне было проще то, что описано выше сделать… Пришлите ссылки на примеры вырезания прозрачных дырок в изображениях при помощи svg, чтобы был вариант альтернативного решения.
О, ее блог у меня в закладках, читаю иногда ) В моей статье описан случай 2013 года, кажется даже весна, похоже мы с ней почти одновременно задались одним вопросом, но о ее существовании я тогда не догадывался.
Всем сразу никогда не угодить — поэтому и опубликовал свой способ, вдруг кому пригодится. Ваше решение лучше подходит для контента в блоке с однородным фоном, а мое для картинок и сложного фона, который необходимо продырявить. Просто в примере они белые, а поставить то можно любую — и как тогда с box-shadow выкручиваться?
Для решения с canvas нужно учитывать рендеринг на HiDPI экранах — jondavidjohn.github.io/hidpi-canvas-polyfill — можно использовать полифил, но вариант с SVG лучше, мне кажется. Он проще для рендеринга и полифилы не нужны.
Скруглы — border-radius inset для картинок