From a6c0a023a498297161b137054e75935049fde4c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrej=20Rama=C5=A1euski?= <andrej@x2.cz> Date: Wed, 8 Feb 2023 00:13:39 +0100 Subject: [PATCH] Dynamicke poziciovani loga --- VERSION | 2 +- lib/PZ/Controller/Shortcut.pm | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/VERSION b/VERSION index e70b452..6a6a3d8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.6.0 +2.6.1 diff --git a/lib/PZ/Controller/Shortcut.pm b/lib/PZ/Controller/Shortcut.pm index 310427f..b4bc292 100644 --- a/lib/PZ/Controller/Shortcut.pm +++ b/lib/PZ/Controller/Shortcut.pm @@ -116,16 +116,19 @@ sub qr ($c) { my $url = 'https://' . $c->config->{domain} . '/' . $c->stash->{shortcut}; $c->trace($url); - my $png = qrpng (text => $url, level => 4, scale => 6); + my $png = qrpng (text => $url, level => 4, scale => 7); my $qr = GD::Image->new($png); - my $logo = GD::Image->new($c->app->home . '/public/logo.png'); - $qr->trueColor(1); + + my $logo = GD::Image->new($c->app->home . '/public/logo.png'); $logo->trueColor(1); + + my ($wq,$hq) = $qr->getBounds(); + my ($wl,$hl) = $logo->getBounds(); $logo->transparent($logo->colorClosest($logo->rgb($logo->getPixel(0,0)))); - $qr->copyMerge($logo,73,73,0,0,100,100,80); + $qr->copyMerge($logo, ($wq-$wl)/2, ($hq-$hl)/2, 0, 0, $wl, $hl, 80); $c->res->headers->content_type('image/png'); $c->render( data => $qr->png ); -- GitLab