Thread [Image::Magick] Rahmen um Text (12 answers)
Opened by GUIfreund at 2013-10-13 19:01

GwenDragon
 2013-10-14 16:07
#171151 #171151
User since
2005-01-17
14533 Artikel
Admin1
[Homepage]
user image
2013-10-14T12:33:42 GUIfreund
2013-10-14T07:56:46 GwenDragon
Schau mal in msg #169752 als Beispiel.
Mit den Werten lässt sich die Fonthöhen und -breiten berechnen.

Aus dem dortigen Dumper-Output:
Code (perl): (dl )
1
2
3
4
          '0',
          '-6',
          '23',
          '22',

Diese Bounding-Box kann ja nur für ein Zeichen sein. Ich bin skeptisch.
Die maximale Breite und Höhe einer Textzeile lässt sich doch ermitteln.
Und weviel Zeilen es sind bekommst du doch selbst raus. Oder nicht?

Und QueryMultilineFontMetrics geht doch auch. ;)

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use Image::Magick;

my $text = 'Blah Blubb Moep Malp Foo Bar Baz!
Mööö Muh
Max';
my $image = Image::Magick->new;
$image->Set( size => '800x600' );
$image->ReadImage('xc:none');
my (@params)= $image->QueryFontMetrics(font=>'arial.ttf', pointsize=>30, text=>$text);
my (@params_ml)= $image->QueryMultilineFontMetrics(font=>'arial.ttf', pointsize=>30, text=>$text);

use Data::Dumper;
print Dumper \@params;
print Dumper \@params_ml;


ergibt:
$VAR1 = [
'30',
'30',
'28',
'-7',
'712',
'35',
'60',
'0',
'-6',
'23',
'22',
'710',
'0'
];
$VAR1 = [
'30',
'30',
'28',
'-7',
'481',
'105',
'60',
'0',
'-6',
'23',
'22',
'481',
'0'
];


105 sieht zu 35 fatal nach 3x soviel, also drei Zeilen aus :)
Meinste nicht?
Last edited: 2013-10-14 16:08:58 +0200 (CEST)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread [Image::Magick] Rahmen um Text