ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* parameters of (setup)externalfigure, conversions etc.
@ 2022-08-11 13:51 Henning Hraban Ramm via ntg-context
  2022-08-12 11:07 ` Henning Hraban Ramm via ntg-context
  0 siblings, 1 reply; 2+ messages in thread
From: Henning Hraban Ramm via ntg-context @ 2022-08-11 13:51 UTC (permalink / raw)
  To: mailing list for ConTeXt users, Hans Hagen; +Cc: Henning Hraban Ramm

Hi Hans,

yesterday you told me about the image conversions in grph-con.lua, and I 
tried to find out how to use them. Up to know I only knew "mp" for SVG 
images.

I found I can use "gray.pdf" or "cmyk.pdf" to convert an image (JPG or 
PNG) to grayscale/CMYK, but the resolution isn’t used for downsampling 
(of course, it’s not mentioned in the command template):

\externalfigure[hacker][conversion={gray.pdf},resolution=72]

I tried to write my own downsampling converter, but don’t understand how 
I can hook it into the list of converters:

"""

local downsample = sandbox.registerrunner {
   name     = "downsample",
   program  = "gm",
template = [[convert -compress Zip -sampling-factor 1x1 -density 
%resolution%x%resolution% -resample %resolution%x%resolution% %oldname% 
%newname%]],
   checkers = checkers,
   defaults = defaults,
}

programs.downsample = { runner = downsample }

"""

(I’m not sure if I must calculate the desired pixel size beforehand.)

-*-*-

Apart from converters, there are several parameters of \externalfigure 
that I don’t understand and thus can’t document in the Wiki; a few are 
even not yet documented in the interface files:

* equalwidth/equalheight
* s/sx/sy
* xmax/ymax
* prefix, label, comment
* bodyfont
* mask
* frames (≠ frame)
* interaction, crossreference
* resources
* display
* order
* crop, transform
* controls, preview: only related to video and thus obsolete?
* hfactor/wfactor: When do these make sense? (I know factor)

I accidentally learned that I can use parameters of \framed, but the 
inheritance from \setupframed is not explicit – some are mentioned, like 
backgroundcolor, others not, even if they work, like corner (but they 
don’t affect the image).


Hraban
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: parameters of (setup)externalfigure, conversions etc.
  2022-08-11 13:51 parameters of (setup)externalfigure, conversions etc Henning Hraban Ramm via ntg-context
@ 2022-08-12 11:07 ` Henning Hraban Ramm via ntg-context
  0 siblings, 0 replies; 2+ messages in thread
From: Henning Hraban Ramm via ntg-context @ 2022-08-12 11:07 UTC (permalink / raw)
  To: ntg-context; +Cc: Henning Hraban Ramm

Am 11.08.22 um 15:51 schrieb Henning Hraban Ramm via ntg-context:
> Hi Hans,
> 
> yesterday you told me about the image conversions in grph-con.lua, and I 
> tried to find out how to use them. Up to know I only knew "mp" for SVG 
> images.
> 
> I found I can use "gray.pdf" or "cmyk.pdf" to convert an image (JPG or 
> PNG) to grayscale/CMYK, but the resolution isn’t used for downsampling 
> (of course, it’s not mentioned in the command template):
> 
> \externalfigure[hacker][conversion={gray.pdf},resolution=72]
> 
> I tried to write my own downsampling converter, but don’t understand how 
> I can hook it into the list of converters:
> 
> """
> 
> local downsample = sandbox.registerrunner {
>    name     = "downsample",
>    program  = "gm",
> template = [[convert -compress Zip -sampling-factor 1x1 -density 
> %resolution%x%resolution% -resample %resolution%x%resolution% %oldname% 
> %newname%]],
>    checkers = checkers,
>    defaults = defaults,
> }
> 
> programs.downsample = { runner = downsample }

I found the solution in 
https://wiki.contextgarden.net/Using_Graphics#Image_Conversion, but 
that’s not as elegant as those in grph-inc.lua

(And I learned that ImageMagick’s convert works differently than 
GraphicsMagick’s WRT -density; i.e. you must use "gm convert".)

Peter Münster’s grph-downsample.lua was better, it calculated the actual 
pixel size necessary, but that doesn’t work any more.

> """
> 
> (I’m not sure if I must calculate the desired pixel size beforehand.)
> 
> -*-*-
> 
> Apart from converters, there are several parameters of \externalfigure 
> that I don’t understand and thus can’t document in the Wiki; a few are 
> even not yet documented in the interface files:
> 
> * equalwidth/equalheight
> * s/sx/sy
> * xmax/ymax
> * prefix, label, comment
> * bodyfont
> * mask
> * frames (≠ frame)
> * interaction (PDF inclusion; found)crossreference
> * resources
> * display (alternative source? multimedia only?)
> * order (of extensions; found)
> * crop, transform
> * controls, preview: only related to video and thus obsolete?
> * hfactor/wfactor: When do these make sense? (I know factor)

Also, orientation seems to be missing in the interface (auto-syntax 
doesn’t pick it up).

Hraban
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-08-12 11:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-11 13:51 parameters of (setup)externalfigure, conversions etc Henning Hraban Ramm via ntg-context
2022-08-12 11:07 ` Henning Hraban Ramm via ntg-context

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).