diff options
author | Karl Berry <karl@freefriends.org> | 2016-04-22 22:14:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-04-22 22:14:39 +0000 |
commit | fc4466b32ed330a956ac603b00fd145524cff49a (patch) | |
tree | 2c50e2b8de13aa9233b2c76dffe201558f169e86 /Master/texmf-dist/tex/context/base/mkiv/util-lib-imp-gm.lua | |
parent | 50e2368597d5f6fe2057195d0ae6a9f2044923e4 (diff) |
context (22apr16)
git-svn-id: svn://tug.org/texlive/trunk@40691 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/util-lib-imp-gm.lua')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mkiv/util-lib-imp-gm.lua | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/util-lib-imp-gm.lua b/Master/texmf-dist/tex/context/base/mkiv/util-lib-imp-gm.lua new file mode 100644 index 00000000000..4c5254721df --- /dev/null +++ b/Master/texmf-dist/tex/context/base/mkiv/util-lib-imp-gm.lua @@ -0,0 +1,69 @@ +if not modules then modules = { } end modules ['util-lib-imp-gm'] = { + version = 1.001, + comment = "a mkiv swiglib module", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local graphicmagick = utilities.graphicmagick or { } +utilities.graphicmagick = graphicmagick + +local report_gm = logs.reporter("swiglib gm") + +local gm = swiglib("gmwand.core") + +if gm then + report_gm("library loaded") + -- inspect(table.sortedkeys(gm)) +else + return +end + +local nofruns = 0 + +function graphicmagick.convert(specification) + -- + nofruns = nofruns + 1 + statistics.starttiming(graphicmagick) + -- + local inputname = specification.inputname + if not inputname or inputname == "" then + report_gm("invalid run %s, no inputname specified",nofruns) + statistics.stoptiming(graphicmagick) + return false + end + local outputname = specification.outputname + if not outputname or outputname == "" then + outputname = file.replacesuffix(inputname,"pdf") + end + -- + if not lfs.isfile(inputname) then + report_gm("invalid run %s, input file %a is not found",nofruns,inputname) + statistics.stoptiming(graphicmagick) + return false + end + -- + report_gm("run %s, input file %a, outputfile %a",nofruns,inputname,outputname) + local magick_wand = gm.NewMagickWand() + gm.MagickReadImage(magick_wand,inputname) + gm.MagickWriteImage(magick_wand,outputname) + gm.DestroyMagickWand(magick_wand) + -- + statistics.stoptiming(graphicmagick) +end + +function graphicmagick.statistics(report) + local runtime = statistics.elapsedtime(graphicmagick) + if report then + report_gm("nofruns %s, runtime %s",nofruns,runtime) + else + return { + runtime = runtime, + nofruns = nofruns, + } + end +end + +-- graphicmagick.convert { inputname = "t:/sources/hacker.jpg", outputname = "e:/tmp/hacker.png" } +-- graphicmagick.statistics(true) |