Вы можете изменить радиус круга clipPath, чтобы он был немного меньше другого круга, и использовать квадратное изображение, чтобы оно идеально подходило.
render() {
return (
<svg id='svg1' viewBox='0 0 48 48'>
<defs>
<clipPath id='circleView'>
<circle cx='24' cy='24' r='18' fill='none' stroke='#FF62E1' strokeWidth='2' />
</clipPath>
</defs>
<image
x="0"
y="0"
width='48'
height='48'
xlinkHref={'https://source.unsplash.com/random/1500x1500/'}
clipPath='url(#circleView)'
/>
<circle
cx='24'
cy='24'
r='22'
fill='none'
stroke='#FF62E1'
strokeWidth='2'
// @ts-ignore
ref={(circle) => { this.circle = circle }} >
</circle>
</svg>
)
}
}
Codepen
Эта опция оставляет прозрачный промежуток, где виден фон, поэтому может быть, а может и не быть именно тем, что вы хотите.Альтернативой является создание еще одного круга с обводкой, но без заливки сверху с другим радиусом.
Альтернативный кодовый указатель