* Trying to emulate CSS "object-fit" behaviour...
@ 2014-10-15 22:36 Stuart Hungerford
2014-10-16 11:32 ` Hans Hagen
0 siblings, 1 reply; 4+ messages in thread
From: Stuart Hungerford @ 2014-10-15 22:36 UTC (permalink / raw)
To: ntg-context
Hi,
I have a collection of PDF files of varying sizes and aspect ratios.
I'm currently using a combination and external figures to place these
into frames:
\setupexternalfigures[width=45.2mm, frame=off, factor=fit]
\setupcombinations[nx=5,ny=4,width=277mm,distance=10mm,after={\blank[10mm]}]
\setupframed[offset=1.0mm,background=color,rulethickness=0.25pt,backgroundcolor=white,framecolor=lightgray]
\starttext
\startsection
[title={title text}]
\placefigure[here][nonumber]
{\vspace more text}
{\startcombination
{\framed[]
{\externalfigure[1.pdf][location=middle]}{}}{}
%% and so on
This works well, but what I'd like to do is choose a fixed size frame
for each PDF and have ConTeXt fill the frame in the same way as these
CSS commands:
object-fit : cover;
object-position : top left;
overflow : hidden;
(http://www.w3.org/TR/css3-images/#the-object-fit)
That is, scale the PDF until all the frame is covered with some part
of the PDF, even if means overflowing the frame. The "overflow:
hidden" would then clip the overflow to the frame. Different PDF's
could have different scalings applied to make this work, which is fine
for this application.
I understand this may not be an idiomatic use of ConTeXt--any advice
or suggestions for alternate approaches much appreciated.
Stu
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Trying to emulate CSS "object-fit" behaviour...
2014-10-15 22:36 Trying to emulate CSS "object-fit" behaviour Stuart Hungerford
@ 2014-10-16 11:32 ` Hans Hagen
2014-10-17 20:47 ` Trying to emulate CSS Stuart Hungerford
0 siblings, 1 reply; 4+ messages in thread
From: Hans Hagen @ 2014-10-16 11:32 UTC (permalink / raw)
To: ntg-context
On 10/16/2014 12:36 AM, Stuart Hungerford wrote:
> Hi,
>
> I have a collection of PDF files of varying sizes and aspect ratios.
> I'm currently using a combination and external figures to place these
> into frames:
>
> \setupexternalfigures[width=45.2mm, frame=off, factor=fit]
>
> \setupcombinations[nx=5,ny=4,width=277mm,distance=10mm,after={\blank[10mm]}]
>
> \setupframed[offset=1.0mm,background=color,rulethickness=0.25pt,backgroundcolor=white,framecolor=lightgray]
>
> \starttext
> \startsection
> [title={title text}]
> \placefigure[here][nonumber]
> {\vspace more text}
> {\startcombination
> {\framed[]
> {\externalfigure[1.pdf][location=middle]}{}}{}
>
> %% and so on
\starttext
\framed
[offset=overlay,width=4cm,height=4cm]
{\externalfigure[t:/sources/cow.pdf][factor=max]}
\framed
[offset=overlay,width=4cm,height=6cm]
{\externalfigure[t:/sources/cow.pdf][factor=max]}
\framed
[offset=overlay,width=6cm,height=4cm]
{\externalfigure[t:/sources/cow.pdf][factor=max]}
\stoptext
> This works well, but what I'd like to do is choose a fixed size frame
> for each PDF and have ConTeXt fill the frame in the same way as these
> CSS commands:
>
> object-fit : cover;
> object-position : top left;
> overflow : hidden;
>
> (http://www.w3.org/TR/css3-images/#the-object-fit)
>
> That is, scale the PDF until all the frame is covered with some part
> of the PDF, even if means overflowing the frame. The "overflow:
> hidden" would then clip the overflow to the frame. Different PDF's
> could have different scalings applied to make this work, which is fine
> for this application.
>
> I understand this may not be an idiomatic use of ConTeXt--any advice
> or suggestions for alternate approaches much appreciated.
>
> Stu
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
>
> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive : http://foundry.supelec.fr/projects/contextrev/
> wiki : http://contextgarden.net
> ___________________________________________________________________________________
>
--
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Trying to emulate CSS
2014-10-16 11:32 ` Hans Hagen
@ 2014-10-17 20:47 ` Stuart Hungerford
2014-10-18 10:32 ` Hans Hagen
0 siblings, 1 reply; 4+ messages in thread
From: Stuart Hungerford @ 2014-10-17 20:47 UTC (permalink / raw)
To: ntg-context
Hans Hagen <pragma <at> wxs.nl> writes:
> \starttext
>
> \framed
> [offset=overlay,width=4cm,height=4cm]
> {\externalfigure[t:/sources/cow.pdf][factor=max]}
>
> \framed
> [offset=overlay,width=4cm,height=6cm]
> {\externalfigure[t:/sources/cow.pdf][factor=max]}
>
> \framed
> [offset=overlay,width=6cm,height=4cm]
> {\externalfigure[t:/sources/cow.pdf][factor=max]}
>
> \stoptext
>
> > This works well, but what I'd like to do is choose a fixed
> > size frame
> > for each PDF and have ConTeXt fill the frame in the same
> > way as these
> > CSS commands:
> >
> > object-fit : cover;
> > object-position : top left;
> > overflow : hidden;
> >
> > (http://www.w3.org/TR/css3-images/#the-object-fit)
Many thanks -- although I don't see the effect I'm trying to get.
In the code below the cow picture should fill the three frames at
three different scales with no white bars between the frame and
the externalfigure frame:
\setupexternalfigures[location={default}]
\starttext
\framed
[offset=overlay,width=10cm,height=2cm]
{\externalfigure[cow][frame=on,factor=max]}
\framed
[offset=overlay,width=4cm,height=8cm]
{\externalfigure[cow][frame=on,factor=max]}
\framed
[offset=overlay,width=6cm,height=6cm]
{\externalfigure[cow][frame=on,factor=max]}
\stoptext
Thanks,
Stu
[I'm sending this via the Gmane interface as this thread hasn't come through
via the mailing list daily digests via email yet).
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Trying to emulate CSS
2014-10-17 20:47 ` Trying to emulate CSS Stuart Hungerford
@ 2014-10-18 10:32 ` Hans Hagen
0 siblings, 0 replies; 4+ messages in thread
From: Hans Hagen @ 2014-10-18 10:32 UTC (permalink / raw)
To: mailing list for ConTeXt users
On 10/17/2014 10:47 PM, Stuart Hungerford wrote:
> Hans Hagen <pragma <at> wxs.nl> writes:
>
>> \starttext
>>
>> \framed
>> [offset=overlay,width=4cm,height=4cm]
>> {\externalfigure[t:/sources/cow.pdf][factor=max]}
>>
>> \framed
>> [offset=overlay,width=4cm,height=6cm]
>> {\externalfigure[t:/sources/cow.pdf][factor=max]}
>>
>> \framed
>> [offset=overlay,width=6cm,height=4cm]
>> {\externalfigure[t:/sources/cow.pdf][factor=max]}
>>
>> \stoptext
>>
>>> This works well, but what I'd like to do is choose a fixed
>>> size frame
>>> for each PDF and have ConTeXt fill the frame in the same
>>> way as these
>>> CSS commands:
>>>
>>> object-fit : cover;
>>> object-position : top left;
>>> overflow : hidden;
>>>
>>> (http://www.w3.org/TR/css3-images/#the-object-fit)
>
> Many thanks -- although I don't see the effect I'm trying to get.
> In the code below the cow picture should fill the three frames at
> three different scales with no white bars between the frame and
> the externalfigure frame:
>
> \setupexternalfigures[location={default}]
>
> \starttext
>
> \framed
> [offset=overlay,width=10cm,height=2cm]
> {\externalfigure[cow][frame=on,factor=max]}
>
> \framed
> [offset=overlay,width=4cm,height=8cm]
> {\externalfigure[cow][frame=on,factor=max]}
>
> \framed
> [offset=overlay,width=6cm,height=6cm]
> {\externalfigure[cow][frame=on,factor=max]}
>
> \stoptext
We already have a low level repeater so I've added a low level filler.
It will be in the next beta upload (probably not today).
\setupexternalfigures[location={default}]
\starttext
\framed[offset=overlay,width=6cm,height=3cm]{\backgroundimage
{1}{\hsize}{\vsize}{\externalfigure[cow][width=1cm]}} \blank
\framed[offset=overlay,width=6cm,height=3cm]{\backgroundimage
{2}{\hsize}{\vsize}{\externalfigure[cow][width=1cm]}} \blank
\framed[offset=overlay,width=6cm,height=3cm]{\backgroundimage
{3}{\hsize}{\vsize}{\externalfigure[cow][width=1cm]}}
\page
\framed[offset=overlay,width=4cm,height=2cm]{\backgroundimagefill{1}{\hsize}{\vsize}{\externalfigure[cow]}}
\blank
\framed[offset=overlay,width=4cm,height=2cm]{\backgroundimagefill{2}{\hsize}{\vsize}{\externalfigure[cow]}}
\blank
\framed[offset=overlay,width=4cm,height=2cm]{\backgroundimagefill{3}{\hsize}{\vsize}{\externalfigure[cow]}}
\page
\framed[offset=overlay,width=2cm,height=4cm]{\backgroundimagefill{1}{\hsize}{\vsize}{\externalfigure[cow]}}
\blank
\framed[offset=overlay,width=2cm,height=4cm]{\backgroundimagefill{2}{\hsize}{\vsize}{\externalfigure[cow]}}
\blank
\framed[offset=overlay,width=2cm,height=4cm]{\backgroundimagefill{3}{\hsize}{\vsize}{\externalfigure[cow]}}
\page
\framed[offset=overlay,width=4cm,height=2cm]{\backgroundimagefill{1}{\hsize}{\vsize}{\externalfigure[mill]}}
\blank
\framed[offset=overlay,width=4cm,height=2cm]{\backgroundimagefill{2}{\hsize}{\vsize}{\externalfigure[mill]}}
\blank
\framed[offset=overlay,width=4cm,height=2cm]{\backgroundimagefill{3}{\hsize}{\vsize}{\externalfigure[mill]}}
\page
\framed[offset=overlay,width=2cm,height=4cm]{\backgroundimagefill{1}{\hsize}{\vsize}{\externalfigure[mill]}}
\blank
\framed[offset=overlay,width=2cm,height=4cm]{\backgroundimagefill{2}{\hsize}{\vsize}{\externalfigure[mill]}}
\blank
\framed[offset=overlay,width=2cm,height=4cm]{\backgroundimagefill{3}{\hsize}{\vsize}{\externalfigure[mill]}}
\stoptext
> [I'm sending this via the Gmane interface as this thread hasn't come through
> via the mailing list daily digests via email yet).
please avoid duplicate postings
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-10-18 10:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-15 22:36 Trying to emulate CSS "object-fit" behaviour Stuart Hungerford
2014-10-16 11:32 ` Hans Hagen
2014-10-17 20:47 ` Trying to emulate CSS Stuart Hungerford
2014-10-18 10:32 ` Hans Hagen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).