电影胶片上的图像

电影胶片上的图像

是否可以制作嵌入 PDF 图像的电影胶片?

条带1

答案1

电影胶片

\documentclass{article}

\usepackage{color,graphicx}

\newcommand{\whitebox}{\hfill\textcolor{white}{\rule[1mm]{1.8mm}{2.8mm}}\hfill}
\newcommand{\filmbox}[1]{%
    \setlength{\fboxsep}{0pt}%
    \colorbox{black}{%
        \begin{minipage}{3.2cm}
            \rule{0mm}{4.8mm}\whitebox\whitebox\whitebox\whitebox\whitebox%
            \whitebox\whitebox\whitebox\whitebox\null\\%
            \null\hfill\includegraphics[width=3cm]{#1}\hfill\null\\[1mm]%
            \null\whitebox\whitebox\whitebox\whitebox\whitebox%
            \whitebox\whitebox\whitebox\whitebox\null
        \end{minipage}}}

\begin{document}

\noindent
\filmbox{1}\filmbox{2}\filmbox{3}\\
\filmbox{4}\filmbox{5}\filmbox{6}

\end{document}

正如 SDrolet 指出的那样,如果包含的图片具有不同的纵横比,则帧将不均匀。这可以通过两种方式解决:

  • 使用 SDrolet 的解决方案,裁剪到特定尺寸。这意味着丢失部分图片。
  • 通过在 的定义中添加height选项来缩放到特定尺寸。这意味着扭曲图片。\importgraphics\filmbox

答案2

Jonas Granholm 提供了一个巧妙的解决方案。但是,如果图像的尺寸不同,电影胶片就会不均匀(例如:下面的第一个电影胶片)。“adjustbox”包(Martin Sharrer)和 Amaru / Paul Gaborit 提供的代码有助于解决该问题(例如:下面的第二个电影胶片)。以下是最终代码:

\documentclass{book}

\usepackage{color}
\usepackage{graphicx}
\usepackage{adjustbox} %  Martin Sharrer package
\usepackage{calc}
\usepackage{ifthen}

% % % Method to adjust images to the same dimensions
% % % By Amaru / Paul Gaborit / based on Martin Sharrer package "adjustbox" http://tex.stackexchange.com/questions/60918/how-to-scale-and-then-trim-an-image/61073#61073

\newlength{\oH}
\newlength{\oW}
\newlength{\rH}
\newlength{\rW}
\newlength{\cH}
\newlength{\cW}

\newcommand\ClipImage[3]{% width, height, image
\settototalheight{\oH}{\includegraphics{#3}}%
\settowidth{\oW}{\includegraphics{#3}}%
\setlength{\rH}{\oH * \ratio{#1}{\oW}}%
\setlength{\rW}{\oW * \ratio{#2}{\oH}}%
\ifthenelse{\lengthtest{\rH < #2}}{%
    \setlength{\cW}{(\rW-#1)*\ratio{\oH}{#2}}%
    \adjincludegraphics[height=#2,clip,trim=0 0 \cW{} 0]{#3}%
}{%
    \setlength{\cH}{(\rH-#2)*\ratio{\oW}{#1}}%
    \adjincludegraphics[width=#1,clip,trim=0 \cH{} 0 0]{#3}%
}%
}


% %
% % Explanation for movie film strip cells: 
% %
% %  The basic cell is made of a black colorbox (colorbox).
% %              \colorbox{color}{text} : same color as \textcolor{color}{text}
% %  Multiple lines of text can be placed inside a colorbox providing that they are included in a minipage of a specified width.
% %              \begin{minipage}{width} text \end{minipage}
% %  The first and last lines of text are composed of nine small colored (white) rules (boxes) equally spaced with \hfill. The color of each rule is the same as the textcolor.
% %              \textcolor{color}{text}
% %              \rule[depth]{width}{height}
% %              \null is the same as \hbox{} and it can be used for a material which reserves no space but shows TeX that there is a box which is taken into account for typesetting (Herbert: http://tex.stackexchange.com/questions/24919/what-is-null-and-when-do-we-need-to-use-it)
% %
% %
% %

\newcommand{\whitebox}{\hfill\textcolor{white}{\rule[1mm]{1.8mm}{2.8mm}}\hfill}

\newcommand{\SetColorForColoredSmallBoxes}[1]{ %
\def\ColoredSmallBox{\hfill\textcolor{#1}{\rule[1mm]{1.8mm}{2.8mm}}\hfill}}

\SetColorForColoredSmallBoxes{red}

\newcommand{\filmbox}[1]{%  ( Jonas Granholm )
    \setlength{\fboxsep}{0pt}%
    \colorbox{black}{%
        \begin{minipage}{3.2cm}
            \rule{0mm}{4.8mm}\whitebox\whitebox\whitebox\whitebox\whitebox%
            \whitebox\whitebox\whitebox\whitebox\null\\%
            \null\hfill\includegraphics[width=3cm]{#1}\hfill\null\\[1mm]%
            \null\whitebox\whitebox\whitebox\whitebox\whitebox%
            \whitebox\whitebox\whitebox\whitebox\null
        \end{minipage}}}

\newcommand{\filmboxClipImage}[1]{%
    \setlength{\fboxsep}{0pt}%
    \colorbox{black}{%
        \begin{minipage}{3.2cm}
            \rule{0mm}{4.8mm}
            \ColoredSmallBox\whitebox\ColoredSmallBox\whitebox\ColoredSmallBox
            \whitebox\ColoredSmallBox\whitebox\ColoredSmallBox\null\\%
            \null\hfill\ClipImage{3cm}{3cm}{#1}\hfill\null\\[1mm]%
            \null\whitebox\whitebox\whitebox\whitebox\whitebox%
            \whitebox\whitebox\whitebox\whitebox\null
        \end{minipage}}}

\begin{document}

\noindent
\filmbox{First-rectangle}\filmbox{Second-rectangle}\filmbox{Third-rectangle}\\

\noindent
\filmboxClipImage{First-rectangle}\filmboxClipImage{Second-rectangle}\filmboxClipImage{Third-rectangle}\\

\end{document}

在此处输入图片描述

答案3

这是最终的代码,包括 Jonas Granholm 建议的更正。

\documentclass{book}

\usepackage{color}
\usepackage{graphicx}
\usepackage{adjustbox} %  Martin Sharrer package
\usepackage{calc}
\usepackage{ifthen}

% % % Method to adjust images to the same dimensions
% % % By Amaru / Paul Gaborit / based on Martin Sharrer package "adjustbox" http://tex.stackexchange.com/questions/60918/how-to-scale-and-then-trim-an-image/61073#61073

\newlength{\oH}
\newlength{\oW}
\newlength{\rH}
\newlength{\rW}
\newlength{\cH}
\newlength{\cW}

\newcommand\ClipImage[3]{% width, height, image
\settototalheight{\oH}{\includegraphics{#3}}%
\settowidth{\oW}{\includegraphics{#3}}%
\setlength{\rH}{\oH * \ratio{#1}{\oW}}%
\setlength{\rW}{\oW * \ratio{#2}{\oH}}%
\ifthenelse{\lengthtest{\rH < #2}}{%
    \setlength{\cW}{(\rW-#1)*\ratio{\oH}{#2}}%
    \adjincludegraphics[height=#2,clip,trim=0 0 \cW{} 0]{#3}%
}{%
    \setlength{\cH}{(\rH-#2)*\ratio{\oW}{#1}}%
    \adjincludegraphics[width=#1,clip,trim=0 \cH{} 0 0]{#3}%
}%
}


% %
% % Explanation for movie film strip cells: 
% %
% %  The basic cell is made of a black colorbox (colorbox).
% %              \colorbox{color}{text} : same color as \textcolor{color}{text}
% %  Multiple lines of text can be placed inside a colorbox providing that they are included in a minipage of a specified width.
% %              \begin{minipage}{width} text \end{minipage}
% %  The first and last lines of text are composed of nine small colored (white) rules (boxes) equally spaced with \hfill. The color of each rule is the same as the textcolor.
% %              \textcolor{color}{text}
% %              \rule[depth]{width}{height}
% %              \null is the same as \hbox{} and it can be used for a material which reserves no space but shows TeX that there is a box which is taken into account for typesetting (Herbert: http://tex.stackexchange.com/questions/24919/what-is-null-and-when-do-we-need-to-use-it)
% %
% %
% %

\newcommand{\whitebox}{\hfill\textcolor{white}{\rule[1mm]{1.8mm}{2.8mm}}\hfill}

\newcommand{\SetColorForColoredSmallBoxes}[1]{%
\def\ColoredSmallBox{\hfill\textcolor{#1}{\rule[1mm]{1.8mm}{2.8mm}}\hfill}}

\SetColorForColoredSmallBoxes{red}

\newcommand{\filmbox}[1]{%  ( Jonas Granholm )
    \setlength{\fboxsep}{0pt}%
    \colorbox{black}{%
        \begin{minipage}{3.2cm}
            \rule{0mm}{4.8mm}\whitebox\whitebox\whitebox\whitebox\whitebox%
            \whitebox\whitebox\whitebox\whitebox\null\\%
            \null\hfill\includegraphics[width=3cm]{#1}\hfill\null\\[1mm]%
            \null\whitebox\whitebox\whitebox\whitebox\whitebox%
            \whitebox\whitebox\whitebox\whitebox\null
        \end{minipage}}}

\newcommand{\filmboxClipImage}[1]{%
    \setlength{\fboxsep}{0pt}%
    \colorbox{black}{%
        \begin{minipage}{3.2cm}
            \rule{0mm}{4.8mm}%
            \ColoredSmallBox\whitebox\ColoredSmallBox\whitebox\ColoredSmallBox
            \whitebox\ColoredSmallBox\whitebox\ColoredSmallBox\null\\%
            \null\hfill\ClipImage{3cm}{3cm}{#1}\hfill\null\\[1mm]%
            \null\whitebox\whitebox\whitebox\whitebox\whitebox%
            \whitebox\whitebox\whitebox\whitebox\null
        \end{minipage}}}

\begin{document}

\noindent
\filmbox{First-rectangle}\filmbox{Second-rectangle}\filmbox{Third-rectangle}\\

\noindent
\filmboxClipImage{First-rectangle}\filmboxClipImage{Second-rectangle}\filmboxClipImage{Third-rectangle}\\

\end{document}

在此处输入图片描述

相关内容