我正在使用一个使用 Font Awesome 5 渲染图标的 LaTeX 模板。遗憾的是,我想要的所有品牌图标并非都存在于 Font Awesome 集中。
我有这个 PNG 文件:
我用以下代码渲染它:
\pointskill{\includegraphics[scale=0.015]{kotlin}}{Kotlin}{4}
\pointskill{\faRust}{Rust}{1} % Including this for comparison
结果是:
我的目标是以通用方式更改图标的颜色。也就是说,它应该iconcolor
与此处的定义相匹配:
\colorlet{iconcolor}{maincolor!90}
其中maincolor
是可以设置为任意颜色的变量。默认情况下,它是:
\definecolor{cvblue}{HTML}{0E5484}
\colorlet{maincolor}{cvblue}
目前,图标在\pointskill
命令中用 呈现\cvicon
。
\newcommand{\cvicon}[1]{\makebox[0.8em]{\color{iconcolor} #1}}
我曾尝试使用decodearray
,按照[此](https://tex.stackexchange.com/a/150219/305810) 回答,但我想我不明白如何使用它,因为当我使用时图像不再呈现decodearray
。
总而言之,如何更改 PNG 图像中的黑色以匹配可变颜色?
答案1
如果你在 pdfTeX 中定义符号
\newdimen\tenbp \tenbp=10bp
\def\mychar#1#2{% #1: scale #2: move up
\leavevmode \hbox{%
\pdfliteral{q #1 0 0 #1 0 #2 cm 0 0 m 10 0 l 5 5 l 10 10 l 0 10 l h f Q}%
\kern#1\tenbp}}
然后您就可以\mychar{.75}{-1.2}
在任意颜色设置中使用。您可以调整两个参数:比例和垂直位置。您无需加载任何外部图形文件。