Gedrehte Bilddateien abhängig vom Endgerät - wie begegnet ihr der Sachlage Link zum Profil von 1211chef 20.03.2019 17:06 Gedrehte Bilddateien abhängig vom Endgerät - wie begegnet ihr der Sachlage > Hallo 1211chef, > > ein funktionierendes Vorgehen ist: ImageMagicks `convert` mit `-auto-orient` das Bild richtig drehen lassen und mit `-strip` die EXIF-Daten zu entfernen. > > So wird das Bild in jedem Gerät gleich dargestellt, und, sofern die EXIF-Daten nicht lügen, auch in der richtigen Orientierung. > > LG, > CK > hallo christian, yepp, passt ::thumbsUP:: deine tipps sind immer wieder hervorragend! das ganze sieht in perl jetz mal auszugsweise in der testvers. so aus. was kann ich noch zum thema fileprüfung besser/sicherer machen? ~~~ perl #!/usr/bin/perl use [allerhandzeugs] use File::Type; use Image::Magick; my $q = new CGI; my $ft = File::Type->new(); my $img = Image::Magick->new(); my $ID = $q->param ("ID"); my $machwas = $q->param ("machwas"); my $fname = $q->param ("upload"); my $handle = $q->upload ("upload"); if ($machwas) { $fname = ~s/(?:\\|\/)([^\\\/]+)$/$1/g; my ($a,$end) = split(/\.$+/, $fname); $end = lc($end); $fname = $ID.time().".".$end; open (FILE, ">../../pics/$fname") or die "Can't create file: $!"; my $buffer; while (read($handle,$buffer,2048)) { print FILE $buffer; } close (FILE); my $type = $ft->mime_type("../../pics/$fname"); my $gr = -s("../../pics/$fname"); if ( ($type ne "image/jpeg") && ($type ne "image/png") && ($type ne "image/x-png") ) { print header('text/plain'); print"L-In Error :: falsches Dateiformat $type"; unlink("../../pics/$fname"); goto end; } $img->Read("../../pics/$fname") &&|| die "Cannot read $fname!"; my ($wo,$ho) = $img->Get('width','height'); my $max = 600; 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="© by IchBins"; $img->Strip; $img->AutoOrient; $img->Annotate(text=>$text,font=>'courier',pen=>'black',undercolor=>'#FFFFFFBB', pointsize=>30,gravity=>'South',geometry=>'+20 +20'); $img->Write("../../pics/$fname") &&|| die "Cannot write $fname!"; } ~~~