Markus Pitha: Mehrere Grafiken zusammen ausgeben?

Nabend,
Als ich mit meinem bereits eingerosteten Perl versuchte einen einfachen Grafikcounter, der bei jedem Klick weiterzählt zu realisieren, staunte ich nicht schlecht als ich draufkam, dass ich bei Grafiken nicht so vorgehen kann, wie bei normalem Text, was die Ausgabe betrifft.
Ich kann irgendwie nur eine (die erste) Grafik ausgeben, und die nächste(n) Grafik(en) werden einfach unter den Tisch fallen gelassen. Danach dachte ich an eine "Verkettung" von Grafiken, damit ich sie vielleicht zusammen als einen String ausgeben kann, aber ich wüsste nicht wie? Hat jemand einen sinnvollen Ansatz? Also nochmal: Es wird immer nur die erste Stelle der Zahl ausgegeben. bei 23 also 2. Bei 156 die Eins.

  
#!/usr/bin/perl -w  
  
use strict;  
use CGI::Carp qw(fatalsToBrowser);  
  
my @ziffern = qw(null eins zwei drei vier fuenf sechs sieben acht neun);  
my @counterwert = ();  
  
open FILE, "+<counter.txt" or die "Kann counter.txt nicht öffnen: $!\n";  
flock FILE, 2;  
my $zahl = <FILE>;  
seek FILE, 0, 0;  
truncate FILE, 0;  
print FILE ++$zahl;  
close FILE;  
  
#Grafiken laden  
     for(my $i = 0; $i <= 9; $i++)    {  
  open IMAGE, "ziffern/$ziffern[$i].jpg" or die "Kann ziffern/$ziffern[$i].jpg nicht lesen :$!\n";  
  binmode IMAGE; #wegen Windows  
  undef $/; #wichtig, damit Bild nicht zeilenweise eingelesen wird.  
  $ziffern[$i] = <IMAGE>;  
  close IMAGE;  
     }  
  
print "Content-Type: image/jpg\n\n";  
binmode STDOUT;  
  
  while ($zahl =~ /(\d)/g)    {  
  print STDOUT $ziffern[$1];  
  }  
  
  

Markus.

--
http://www.apostrophitis.at
http://www.pithax.net
Wenn ich ein toller Programmierer währe, könnte ich vieleicht sogar Packete nach einem gewissen Standart kompelieren...
Vieleicht progge ich aber auch eine tolle Gallerie, die dann hoffentlich funzt.
  1. Hi,

    Als ich mit meinem bereits eingerosteten Perl versuchte einen einfachen Grafikcounter, der bei jedem Klick weiterzählt zu realisieren, staunte ich nicht schlecht als ich draufkam, dass ich bei Grafiken nicht so vorgehen kann, wie bei normalem Text, was die Ausgabe betrifft.
    Ich kann irgendwie nur eine (die erste) Grafik ausgeben,

    Richtig. HTTP ist so aufgebaut, daß auf eine Anfrage genau eine Ressource als Antwort kommt.

    Bau serverseitig aus den Einzelbildchen _EINE_ Grafik zusammen.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hallo,

      Bau serverseitig aus den Einzelbildchen _EINE_ Grafik zusammen.

      Eben, aber wie kann ich das anstellen? Ich weiß leider nicht mal, wie eine Grafik aufgebaut ist.

      Markus.

      --
      http://www.apostrophitis.at
      http://www.pithax.net
      Wenn ich ein toller Programmierer währe, könnte ich vieleicht sogar Packete nach einem gewissen Standart kompelieren...
      Vieleicht progge ich aber auch eine tolle Gallerie, die dann hoffentlich funzt.
      1. Nachtrag:

        Ich habe eine mögliche Lösung gefunden. Mithilfe von Image::Magick und der "Montage"-Methode kann ich Felder von Grafiken zu einer Einzigen verschmelzen lassen. Ich glaube, ich sollte es so weit hinkriegen, dass ich den Counter diesbezüglich anpassen kann. Die Ausgabe von mehreren Grafiken wurde in meinem Beispiel getestet und funktioniert.

        P.S Eines verwirrt mich nur bei Image Magick.
        Schreibe ich ...

          
        $images->Read("ziffern/$ziffern[$i].jpg") or die .....  $!  
        
        

        ..bekomme ich einen Fehler, dass Verzeichnis oder Datei nicth existiert, obwohl es 100%ig existiert.
        Schreibe ich hingegen...

          
        $images->Read("ziffern/$ziffern[$i].jpg") and die .....  $!  
        
        

        ...funktioniert es? Kann mir jemand diese, meiner Meinung nach etwas seltsame Logik erklären?

        Markus.

        --
        http://www.apostrophitis.at
        http://www.pithax.net
        Wenn ich ein toller Programmierer währe, könnte ich vieleicht sogar Packete nach einem gewissen Standart kompelieren...
        Vieleicht progge ich aber auch eine tolle Gallerie, die dann hoffentlich funzt.