
É possível fazer uma tira de filme com imagens PDF incorporadas?
Responder1
\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}
Como apontou SDrolet, os quadros serão desiguais se as imagens incluídas tiverem proporções de aspecto diferentes. Isso pode ser resolvido de duas maneiras:
- Corte em um tamanho específico, usando a solução SDrolet. Isso significa perder parte da imagem.
- Dimensionando para um tamanho específico, adicionando a
height
opção de\importgraphics
na definição de\filmbox
. Isso significa distorcer a imagem.
Responder2
Jonas Granholm forneceu uma solução inteligente. Porém, se as imagens não tiverem as mesmas dimensões, a faixa de filme ficará irregular (ex.: primeira faixa de filme, abaixo). O pacote "adjustbox" (Martin Sharrer) e o código fornecido por Amaru / Paul Gaborit ajudam a resolver esse problema (ex.: segunda tira do filme abaixo). Aqui está o código final:
\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}
Responder3
Aqui está o código final, incluindo a correção sugerida por 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}