ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* 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).