1211chef: PerlMagic, erste Schritte

hi @all, wer hat denn erfahrungen mit perlMagic? ich bastle grade rum und brauche eine bildmanipulation. eine schrift soll auf einem balken mit verlaufsfarbe am unteren bildrand erscheinen. muss ich dazu mehrere bildebenen erstellen und dann montieren? ich blick noch nicht recht durch.

meine ersten infos habe ich von hier: http://www.imagemagick.org/script/perl-magick.php#example

mein testscript macht derzeit folgendes: auslesen der xy parameter, je nach originalbreite/höhe auf eine max breite oder höhe skalieren und einen text am unteren bildrand in ≈ grössenabhängigkeit der neu skalierten bildbreite einfügen.

jetzt hätt ich gern, dass mein text auf einem weissen balken mit farbverlauf ins transparente erscheint, der die gesamte bildbreite ausfüllt und sich ungefähr an die schriftgrösse anpasst.

was ich auch nicht ganz verstehe ist, ob ich die ratio-berechnung überhaupt brauche oder ob eine angabe 'widht x' oder 'height y' das bild mit sample automatisch in das richtige seitenverhältnis skaliert.

das hab ich derzeit zum testen (datei ist schon auf den server geschrieben):

my $img = Image::Magick->new();
	  
$img->Read("../pfad/$fname") && die "Cannot read $fname!";
		 
my ($wo,$ho) = $img->Get('width','height');
		 
my $max = 400; my $wn = $wo; my $hn = $ho;
		 
my $ratio = $wo / $ho;
		 
if ( ($wo > $max) || ($ho > $max) )
{
  if ($ratio > 1) 
  { 
    $wn = $max; $hn = int($max / $ratio); 
  } 
    else 
  { 
    $wn = int($max * $ratio); $hn = $max;
  }
		
  $img->Sample("$wn x $hn");
}

my $text="heute scheint die sonne";

my $psize=int($wn / 15); # nur mal grob zum testen
		
$img->Annotate(text=>$text, font=>'verdana', pen=>'black', pointsize=>$psize, gravity=>'South');
		   
$img->Write("../pfad/$fname") && die "Cannot write $fname!";

wie gesagt sollte nun der text auf einem farbigen balken erscheinen, ähnlich label, aber nach oben hin mit farbverlauf ins transparente. ist es möglich einfach den parameter undercolor=> auf diese art zu verwenden? perfekt muss dat dingens ja nicht werden.

gruss gustl

  1. Hallo 1211chef,

    ich bastle grade rum und brauche eine bildmanipulation. eine schrift soll auf einem balken mit verlaufsfarbe am unteren bildrand erscheinen.

    Das klingt nach einer Aufgabe für CSS.

    Bis demnächst
    Matthias

    --
    Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
    1. Hallo,

      ich bastle grade rum und brauche eine bildmanipulation. eine schrift soll auf einem balken mit verlaufsfarbe am unteren bildrand erscheinen.

      Das klingt nach einer Aufgabe für CSS.

      vom technisch-fachlichen Standpunkt her schon - aber vielleicht will der OP auf diese Weise auch die Bilder "markieren", um den Bilderklau nicht ganz so attraktiv zu machen. Einfach den Urheber oder ein entsprechendes Kürzel an den Bildrand schreiben ist gut und schön, aber warum soll man das nicht auch mit einem ansprechenden graphischen Effekt aufhübschen?

      So long,
       Martin

      --
      Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
  2. ist es möglich einfach den parameter undercolor=> auf diese art zu verwenden? perfekt muss dat dingens ja nicht werden.

    gruss gustl

    gustl an gustl: ja es ist möglich, vielen dank auch