Я нашел способ и хотел бы опубликовать / поделиться им, на случай, если кто-нибудь здесь, просматривает этот пост и задается вопросом, каково (одно из) решение (я)!
Вот мой окончательный код:
import React, {Component} from 'react';
import AnimeCropped from '../images/AnimeCropped.png';
class Circle extends Component {
render() {
return (
<div>
<svg height="670" width="670">
<circle cx="350" cy="350" r="300" stroke="black" stroke-width="5" fill="none" />
<image className='img-circle' xlinkHref={AnimeCropped} x='75.5' y="15" height="670" width="670"/>
</svg>
</div>
);
}
}
export default Circle;
По сути, я сделал следующее:
Обрежьте фотографию, чтобы она была кругом. Я мог бы следовать рекомендации cubrr выше и закрепить ее (это отличная идея!), Но вместо этого - я просто нашел и использовал инструмент для обрезки фотографий в Интернете. Затем я назвал только что обрезанное изображение «AnimeCropped» и сохранил его в том же каталоге.
Импортировал изображение в файл компонента и отображал его с помощью тега <image>
после <circle>
тег. Это не упоминалось в моем первоначальном вопросе выше, но я также предположил, что вставка изображения внутри круга может решить проблему. Таким образом:
<svg height="670" width="670">
<circle cx="350" cy="350" r="300" stroke="black" stroke-width="5" fill="none">
<img src={AnimeCropped} alt={AnimeCropped}/>
</circle>
</svg>
Но это не сработало.
В моем последнем коде вы увидите, что тег <image>
идет после <circle>
тег, так что технически это не внутри круга, а просто наложение поверх него. Также обратите внимание, что мне пришлось использовать <image>
, а не <img>
. Мне придется немного изучить это, но <img>
выдавало мне сообщение об ошибке.
Также важно: в React xlink:href
не будет работать, но xlinkHref
будет! Это действительно сбило меня с толку, но я нашел это полезным post .
Используя classNames, я отредактировал размер обрезанного изображения в моем приложении. css файл.
Настроил координаты x и y так, чтобы он несколько идеально вписывается в середину круга.
Вот и все! Просто хотел опубликовать это для закрытия / помочь мне просмотреть то, что я узнал.