git.shiar.nl
/
sheet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a58594c
)
word/edit: precalculate image width and height
author
Mischa POSLAWSKY
<perl@shiar.org>
Sun, 15 Aug 2021 02:31:33 +0000
(
04:31
+0200)
committer
Mischa POSLAWSKY
<perl@shiar.org>
Wed, 25 Aug 2021 04:53:32 +0000
(06:53 +0200)
Code cleanup.
Shiar_Sheet/ImagePrep.pm
patch
|
blob
|
history
diff --git
a/Shiar_Sheet/ImagePrep.pm
b/Shiar_Sheet/ImagePrep.pm
index 4fc33b64639a82ae1cfb71c745ecb1617bf4d3d0..0c7489b54cd1346fd4b6c92118e60034a57c3420 100644
(file)
--- a/
Shiar_Sheet/ImagePrep.pm
+++ b/
Shiar_Sheet/ImagePrep.pm
@@
-34,12
+34,13
@@
sub convert {
if (my ($cmdarg) = grep { $cmds[$_] eq '-area' } 0 .. $#cmds) {
# replace option by permillage crop
my @dim = map { $_ / 1000 } split /\D/, $cmds[$cmdarg + 1];
if (my ($cmdarg) = grep { $cmds[$_] eq '-area' } 0 .. $#cmds) {
# replace option by permillage crop
my @dim = map { $_ / 1000 } split /\D/, $cmds[$cmdarg + 1];
+ $dim[$_] ||= 1 for 2, 3; # optional end
+ push @dim, $dim[2 + $_] - $dim[$_] for 0, 1; # add width, height
splice @cmds, $cmdarg, 2, (
-set => 'option:distort:viewport' => sprintf(
splice @cmds, $cmdarg, 2, (
-set => 'option:distort:viewport' => sprintf(
- '%%[fx:w*%s]x%%[fx:h*%s]+%%[fx:w*%s]+%%[fx:h*%s]',
- ($dim[2] || 1) - $dim[0], # width = x2 - x1
- ($dim[3] || 1) - $dim[1], # height = y2 - y1
- @dim[0, 1] # offset = x1,y1
+ '%%[fx:%s]x%%[fx:%s]+%%[fx:%s]+%%[fx:%s]',
+ "w*$dim[4]", "h*$dim[5]", # width x height
+ "w*$dim[0]", "h*$dim[1]", # x+y offset
),
-distort => SRT => 0, # noop transform to apply viewport
);
),
-distort => SRT => 0, # noop transform to apply viewport
);