是否有一个环境或包可以用来制作文本始终可见在投影仪演示(带有照片背景)上?如何确保“高对比度文本颜色取决于背景”?(感谢@percusse)
另一种询问方式如何让文本根据周围环境和背景自动调整颜色以实现最佳可读性?
假设我有一张照片作为背景,我怎样才能使文本像素感知周围环境,并使其在图像背景较暗的部分变亮,在背景较亮的部分变暗。
如果出现快速渐变(急剧或突然从白色变为黑色),则应对文本进行勾勒或进行一些调整以保持文本的可读性。
一个例子是将随机照片拉入框架背景,而不必担心为了可读性而自我调整和调整每一帧。
有人认为内容永远是最重要的,我理解这一点,但这不是这里的问题。
示例图片(摘自这一页)
如果包指定了范围,那么它也可能是有用的,以便可以进行颜色调整,如下图所示:
另一个示例是,图片中有从黑到白(从左到右)的渐变。在此基础上分层文本将使文本以相反的渐变方向响应,即从白到黑(从左到右)。无论文本位于何处,这都会使文本易于阅读。
有没有办法在 beamer/LaTeX 中做到这一点?也许演示和视觉专家可以为我提供短语或单词来表达我在这里寻找的内容。
答案1
我想说,仅使用 LaTeX 是不可能的。至少你必须在后台调用一些其他程序,但我想这也会太复杂。因此,使用 Inkscape 或 Adobe Illustrator 等软件准备图像,然后将图像和文本导出为 PDF 以在 LaTeX 中使用。
答案2
(评论有点长……)
我不确定这是否是个好主意。假设你有几张不同颜色的图片,那么每张幻灯片上的文本颜色就会大不相同,幻灯片之间的联系就会松散,设计也不会一致。如果是背景图像,效果甚至会适得其反:如果背景从一张幻灯片变为另一张幻灯片,观众会想知道为什么,而不是听你说话,如果背景太复杂,它会引起比应有的更多的关注。当然,背景可以让演示文稿更美观,但前景(即幻灯片上的文本、你的演讲等)更为重要 ;-)
当然,“为每张图片匹配颜色”或“使用高对比度颜色”可以成为设计规则,并且在某些应用中非常有效,但我确信在这种情况下,没有计算机能够找到真正匹配的颜色。即使它们(在数学上)与图像形成对比,人类(设计师)的眼睛也只能找到适合工作的颜色。让计算机进行设计永远不是一个好主意……
关于图片标题的想法
如果您想在图像上放置(标题)文本(不是背景),我建议对所有图像标题使用(白色)背景。您可以使用 TikZ 添加文本,或创建新命令,例如\captionedimage{<caption>}[<options>]{<image>}
:
\documentclass{beamer}
\usepackage{xparse}
\usepackage{tikz}
\usetikzlibrary{positioning}
% define backgroundcolors
\definecolor{numberbg}{HTML}{FEF8E3}
\definecolor{numbertxt}{HTML}{C52F3E}
\definecolor{captionbg}{HTML}{FDFDF5}
% using xparse to define the new command
\NewDocumentCommand{\captionedimage}{ m O{} m }{%
\refstepcounter{figure}
\begin{tikzpicture}
% include the image in a node
\node (graphic) [inner sep=0pt] {\includegraphics[#2]{#3}};
% draw the node for the number
\node (number) [%
below right=1mm of graphic.north west,
fill=numberbg,
text=numbertxt,
font=\Large\bfseries,
minimum width=3em,
minimum height=5.4ex] {\thefigure};
% draw the node with the caption
\node [%
right=-0.5pt of number.north east,
anchor=north west,
fill=captionbg,
text width=12em,
font=\footnotesize,
minimum height=5.4ex] {#1};
\end{tikzpicture}
}
\begin{document}
\title{Captioned images}
\maketitle
\begin{frame}
\captionedimage{Caption Text}[width=\textwidth]{example-image}
\end{frame}
\begin{frame}
\captionedimage
{A very long caption Text. A very long caption Text.}
[width=\textwidth]{example-image-a}
\end{frame}
\begin{frame}
\captionedimage{Caption Text}[width=\textwidth]{example-image-b}
\end{frame}
\end{document}
我只是借用了 TeX.SX 的颜色主题,但根据 beamer 颜色主题来定义颜色会更好……