获取将黑色转换为特定颜色的解码数组

获取将黑色转换为特定颜色的解码数组

我为我的信件选择了特定的颜色。该颜色用于标题和标题。我还有一张黑白图像想用作背景,但我希望它有我选择的颜色而不是黑色。有没有一种简单的方法可以做到这一点,而不需要手动调整参数?

平均能量损失

\documentclass[12pt]{article}

\usepackage[top=0.78in, left=1in, right=1in, bottom=1in]{geometry}  
\usepackage{graphicx}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{scrpage2}
\usepackage{background}
\usepackage{lipsum}

\colorlet{MyColor1}{RoyalPurple}
\newcommand{\HRule}{\rule{\textwidth}{1.5pt}}
\pagestyle{scrheadings}
\clearscrheadfoot
\chead{{\color{MyColor1} \textsc{\Huge{My Name} \\[-1.5pt] \Large{some tagline}}\\ \Large{\vspace{-8.5pt}} \HRule}}
\footskip = 0pt
\cfoot{\newcommand{\NL}{ $\ast$ }
{\color{MyColor1} \HRule \textsc{\footnotesize{\\ My address} \footnotesize{ \\ [email protected] \NL webpage.com \\ +44 123 456 789}}}}

\backgroundsetup{contents={\includegraphics[decodearray={MyColor1}, width=0.1\textwidth]{example-image}}, angle=0, position=current page.south, anchor=above, vshift=10pt}


\begin{document}
{\color{MyColor1}\Huge Title}\\[1cm]
\lipsum[1-5]
\end{document}

生成的文件

答案1

你可以使用 Ti 提供的混合模式Z。

\documentclass[12pt]{article}

\usepackage[top=0.78in, left=1in, right=1in, bottom=1in]{geometry}  
\usepackage{graphicx}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{scrpage2}
\usepackage{background}
\usepackage{lipsum}
\usepackage{tikz}

\colorlet{MyColor1}{RoyalPurple}
\newcommand{\HRule}{\rule{\textwidth}{1.5pt}}
\pagestyle{scrheadings}
\clearscrheadfoot
\chead{{\color{MyColor1} \textsc{\Huge{My Name} \\[-1.5pt] \Large{some tagline}}\\ \Large{\vspace{-8.5pt}} \HRule}}
\footskip = 0pt
\cfoot{\newcommand{\NL}{ $\ast$ }
{\color{MyColor1} \HRule \textsc{\footnotesize{\\ My address} \footnotesize{ \\ [email protected] \NL webpage.com \\ +44 123 456 789}}}}

\backgroundsetup{contents={\tikz[blend mode=screen]{\node (img){%
\includegraphics[width=0.1\textwidth]{example-image-a}};
\fill[MyColor1](img.south east) rectangle (img.north west);}},%
 angle=0, position=current page.south, anchor=above, vshift=10pt}


\begin{document}
{\color{MyColor1}\Huge Title}\\[1cm]
\lipsum[1-5]
\end{document}

在此处输入图片描述

答案2

xcolor提供了用于提取和转换颜色规范的有用宏。以下示例使用它们将颜色转换为颜色模型rgb。解析这些值以构造decodearray

要求:

  • 该图像必须是 RGB 颜色空间的位图图像。

该图像由以下 TeX 代码生成:

\documentclass{standalone}
\begin{document}
  \setlength{\fboxrule}{1mm}
  \fbox{\sffamily\bfseries ABC}
\end{document}

它通过 Ghostscript 和设备转换pngalphaabc.png

图像、黑白、RGB 颜色、位图

现在包含图像的文档:

\documentclass{article}

\usepackage{graphicx}
\usepackage[usenames,dvipsnames]{xcolor}
\colorlet{MyColor1}{RoyalPurple}

\makeatletter
\newcommand*{\ParseColorToRgbDecodeArray}[2]{%
  \extractcolorspecs{#1}\ParseResultModel\ParseResultColor
  \convertcolorspec\ParseResultModel\ParseResultColor{rgb}\ParseRgb
  \let#2\@empty
  \@for\ParseValue:=\ParseRgb\do{%
    \edef#2{%
      #2%
      \ifx#2\@empty
      \else
        \space
      \fi
      \ParseValue\space 1%
    }%
  }%
}
\makeatother

\ParseColorToRgbDecodeArray{MyColor1}\MyColorOneDecodeArray

\begin{document}
  \includegraphics[decodearray={\MyColorOneDecodeArray}]{abc.png}
\end{document}

带有图像和解码数组的结果

警告:

原始颜色为CMYK颜色。图像使用RGB。因此,不同型号中的颜色显示会有所不同。

相关内容