Thread Image::Magick - Logo in Bild einfügen (15 answers)
Opened by jan99 at 2013-08-16 14:28

jan99
 2013-08-22 14:09
#169690 #169690
User since
2008-09-18
439 Artikel
BenutzerIn
[default_avatar]
Hi !

ich muss nochmal mit einer weiteren Problematik hinzufügen. Es geht darum das zwei Bilder zusammengeführt werden sollen. Das eine ist eine Kartengrundlage und das andere sind zusätzliche Gestaltungselemente. Letztere wurden mit imagemagick zu einem Overlay zusammengeführt. Hier eine Übersicht der 2 Bilder und rechts das Ergebnis:
jt_perl_imagemagick_problem_20130822.jpg

Das Problem zeigt sich an den Stellen, wo die Texte zuvor in das Overlay mit

Code: (dl )
$img->Annotate(


erstellt wurden.

Diese werden nicht mehr angezeigt.

Das Overlay wurde mit einem transparenter Hintergrund ($img->ReadImage('xc:none');) generiert.

Hier nun nochmal der Code mit welchem die Bilder zusammengeführt wurden:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
		print "... create new final-image\n";
my $img_final = Image::Magick->new();
print "... read basic map\n";
my $result_read_basic = $img_final->Read($map_basic);
warn "$result_read_basic" if "$result_read_basic";

# Bildgröße setzen
#my $image_width_dpi = int($area2plot[0]*$dpi/25.4);
#my $image_height_dpi = int($area2plot[1]*$dpi/25.4);

#$img_final->Set(size=>$image_width_dpi.'x'.$image_height_dpi, fill => 'white');
#$img_final->ReadImage('xc:White');
if (!-e $map_ovl1){
print "*** overlay1 not found ! (name:= ".$map_ovl1.")\n";
} else {
print "... create new overlay1-image\n";
my $img_ovl1 = Image::Magick->new();
print "... read overlay1 map\n";
my $warn_read_ovl1 = $img_ovl1->Read($map_ovl1);
warn "$warn_read_ovl1" if "$warn_read_ovl1";

# einbinden des Overlay
print "... sandwich overlay1\n";
$img_final->Composite(
image => $img_ovl1,
compose => 'add',
geometry => $image_width_dpi.'x'.$image_height_dpi.'+0+0'
);
}
print "... write final-map (name:= ".$map_final.")\n";
my $result_write_ovl1 = $img_final->Write($map_final);
warn "$result_write_ovl1" if "$result_write_ovl1";
print "--> complete\n";

} # end-while


Fehlermeldungen sind bei der Generierung nicht geloggt worden.

Die 3 Bilder finden sich in einem Zip-Archiv zum Download. (5.5 mb aufgrund der Auflösung)

Hat einer von Euch eine Idee warum die Texte nicht angezeigt werden?

Gruß Jan :-)
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de

View full thread Image::Magick - Logo in Bild einfügen