我正在使用material-ui @ next作为我的反应应用程序。我想将Icon
组件与png
格式的动态图像一起使用。我用谷歌搜索了这个,但找不到任何直接有用的东西。
答案 0 :(得分:1)
您可以将PNG图像保存为BMP格式,然后使用potrace应用将其传送到SVG。
potrace icon1.bmp -s -o icon1.svg
现在您可以使用SvgIcon组件。使用记事本打开svg文件并复制svg标签中的标签并将其放入SvgIcon:
function Icon1(props) {
return (
<SvgIcon {...props} >
// tags in your svg file
// ex: <path d="M81 1032 c-19 -9 "/>
</SvgIcon>
);
}
您的图标组件已准备就绪:
<Icon1 />
答案 1 :(得分:1)
您可以:
.svg
文件在您的代码中:
import * as React from "react";
import { SvgIcon } from "@material-ui/core";
export default function Icon1(props) {
return (
<SvgIcon
{...props}
... // add here the params that are sent to <svg /> tag in your file
/*
mine were something like:
version="1.0"
xmlns="http://www.w3.org/2000/svg"
width="3000.000000pt"
height="1068.000000pt"
viewBox="0 0 3000.000000 1068.000000"
preserveAspectRatio="xMidYMid meet">
*/
>
// The tags inside the <svg />; probably something like <g/> <path/> tags
</SvgIcon>
);
}
答案 2 :(得分:0)
我最终使用Gimp来完成此操作。这是我使用的步骤:
接下来,您需要确保将其正确缩放为24x24像素。路径具有自己的工具箱窗口。通常可以在层和通道窗口旁边找到它。
创建一个新文件,并越过下面由{paste path tag here}指示的新路径标签
import * as React from 'react';
import createSvgIcon from '@material-ui/icons/utils/createSvgIcon';
export default createSvgIcon(
<React.Fragment>
<path fill='none' d='M0 0h24v24H0z' />
{paste path tag here}
</React.Fragment>,
'NewIcon'
);
使用您的图标,如下所示:
导入为:
import NewIcon from './filename.tsx';
然后用作:
<NewIcon/>