Bilder verändern sich nach dem Hochladen

Bilder verändern sich nach dem Hochladen

am 16.07.2006 14:21:33 von Emil Horowitz

Hallo,

ich habe eine Routine zum Hochladen von Fotos geschrieben, wobei Fotos
unerschiedlicher Größe und Formate originalgetreu abgebildet werden sollen.
Bei meiner Hochladeroutine erscheinen die Bilder dann aber immer in der
selben Größe. Wenn ein Foto nicht einem bestimmten, von mir nicht
vorgegebenen Seitenverhältnis entspricht, wird rechts automatisch ein weißer
Rand zugefügt. Gibt es einen Weg, Fotos so hochzuladen, dass sie Göße und
Seitenverhältnis beibehalten? Hier mein Code:

seek $quellDatei,0,0;
open (OUTFILE, ">$zielDatei");
undef $BytesRead;
undef $Buffer;
while ($Bytes = read($quellDatei,$Buffer,1024)) {
$BytesRead += $Bytes;
print OUTFILE $Buffer;
}
close($quellDatei);
close(OUTFILE);

Danke,
Emil

Re: Bilder verändernsich nach dem Hochladen

am 17.07.2006 23:18:27 von Christian Garbs

Mahlzeit!

Emil Horowitz wrote:

> Bei meiner Hochladeroutine erscheinen die Bilder dann aber immer in
> der selben Größe. Wenn ein Foto nicht einem bestimmten, von mir
> nicht vorgegebenen Seitenverhältnis entspricht, wird rechts
> automatisch ein weißer Rand zugefügt.

[Snip copy quelldatei->zieldatei]

Dein Code ändert keinen Dateiinhalt, damit ändert er auch nicht die
Bilder. Hast Du mal einen Binärvergleich zwischen den Dateien vor und
nach dem Hochladen gemacht? Vermutlich ist Deine Anzeigeroutine oder
gar dein Browser für die Ränder verantwortlich.

(Oder wir haben es hier mit Windows und einem Sonderfall zu tun, wo
ein fehlender binmode nur in die Metadaten des Bildes korrigierend
eingreift...)

Gruß,
Christian
--
sub _{print"\n"}_;for(;$s<9;++$s){$_='1E2018201E00001E2018201E00001E2018201'
..'E002020001C2222221400005CA2A2A27C02001C2222221C20003E0402 02201F2422221C00'
..'242A2A2A12002020001C2222221F20001C2A2A2A0C';while(s;(..); ;){printf'%c',hex
$1&1<<$s?40:32}_}$_=':::Christian Garbs:',y;:;\t;;print;_;_

Re: Bilder verändernsich nach dem Hochladen

am 18.07.2006 19:26:43 von Andreas Hernitscheck

Am Sun, 16 Jul 2006 14:21:33 +0200 schrieb Emil Horowitz:

Versuch mal binmode:


> open (OUTFILE, ">$zielDatei");
binmode OUTFILE;

Re: Bilder verändern sich nach dem Hochladen

am 20.07.2006 13:24:37 von Emil Horowitz

> Vermutlich ist Deine Anzeigeroutine oder
> gar dein Browser für die Ränder verantwortlich.

Das kann nicht sein, denn das Bild ist in jedem beliebigen Viewer, von
Windows Explorer über ACDsee und in sämtlichen Grafikprogrammen mit weißem
Rand rechts zu sehen. Das Bild wurde tatsächlich physisch verändert.

Gruß,
Emil

Falscher Alarm ...

am 22.07.2006 19:24:07 von Emil Horowitz

Hallo,

alles zurück auf Anfang - die Bilder wurden beim Hochladen gar nicht
verändert! Vielmehr habe ich mir gut bekannte Fotos genommen, die ich vorher
zu Testzwecken woanders hochgeladen hatte, und DORT wuirden sie verändert -
was ich nicht bemerkt hatte. Also - das Hochladen funktioniert einwandfrei,
ohne Veränderungen. Tut mir Leid, der Durcheinander!

Gruß,
Emil