Bilderupload klappt nicht

In diesem Forum können Fragen zum OrderSprinter gestellt werden.
Benutzeravatar
PCFreak
Beiträge: 18
Registriert: Di 12. Jun 2018, 17:30
Wohnort: Bayern

Re: Bilderupload klappt nicht

Beitrag von PCFreak »

Final change product.php

Code: Alles auswählen

...
...
        private static function scaleImg($fn,$maxDim) {
                list($width, $height, $type, $attr) = getimagesize($_FILES['imagefile']['tmp_name']);
                        $size = getimagesize($fn);
                        $ratio = $size[0] / $size[1]; // width/height


                        if ($ratio = 1) {           // width/height = 1
                                $width = $maxDim;   // leave width
                                $height = $maxDim;  // leave height
                        }
                        if ($ratio > 1) {                   // width/heigth > 1
                                $width = $maxDim;           // leave width
                                $height = $maxDim / $ratio; // calculate new height
                        }
                        if ($ratio < 1) {                   // width/height < 1
                                $width = $maxDim * $ratio;  // calculate new width
                                $height = $maxDim;          // leave height
                        }

                        $src = imagecreatefromstring(file_get_contents($fn));
                        $dst = imagecreatetruecolor($width, $height);
                        imagealphablending($dst, false);
                        imagesavealpha($dst, true);
                        $transparent = imagecolorallocatealpha($dst, 255, 255, 255, 127);
                        imagefilledrectangle($dst, 0, 0, $width, $height, $transparent);

                        imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
                        imagedestroy($src);
                        ob_start();
                        imagepng($dst); // adjust format as needed
                        $imagedata = ob_get_contents();
                        ob_end_clean();
                        imagedestroy($dst);
                        return $imagedata;
        }
...
...
pichel
Administrator
Beiträge: 1447
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Bilderupload klappt nicht

Beitrag von pichel »

Hallo Peter,

vielen Dank, dass du für das Problem auch gleich die Lösung präsentiert hast!! :)

Es stimmt schon, dass ich in meinen Tests wahrscheinlich immer Bilder mit einer Größe über 300 Pixel verwendet habe. Ich schaue mir deinen Lösungsweg noch genauer an, wenn ich die Zeit habe, mich damit in Ruhe zu befassen. Und in der nächsten Version ist es dann gefixt.

Aber für jetzt hast du ja eine Lösung gefunden, der offizielle Bugfix ist also nicht so ganz dringend.

Ach ja, im Zusammenhang mit Produktbildern ist mir ein anderer Fehler bekannt. Wenn man ein ganzes Set von Bildern importiert, kann das die Zuordnung bereits bestehender Bildzuordnungen durcheinanderbringen. Ist auch etwas, was ich in einer der nächsten Versionen fixen sollte.

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Benutzeravatar
PCFreak
Beiträge: 18
Registriert: Di 12. Jun 2018, 17:30
Wohnort: Bayern

Re: Bilderupload klappt nicht

Beitrag von PCFreak »

Hallo Stefan,

:!: DANKESCHÖN für deine Zeit und für die tolle Software! :!:

Du kannst sicherlich meine if-Abfragen noch etwas optimieren (Stichwort: elseif) :lol:

Gruß

Peter
pichel
Administrator
Beiträge: 1447
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Bilderupload klappt nicht

Beitrag von pichel »

Hallo Peter,

ich habe mir meinen Code nun mal in Ruhe angeschaut. Also die Abfrage auf größer $maxDim hatte ich eingebaut, um ein Hochskalieren zu vermeiden - und dann vergessen, im anderen Fall auch das unskalierte Bild zurückzugeben. Das sind so typische Fehler, die bei der Programmierung in C# oder Java schon durch die IDE abgefangen worden wäre...

Aber ich bin gerade zum dem Schluss gekommen, dass ein Hochskalieren sinnvoll ist und habe nun die Abfrage komplett rausgenommen.

Vielen Dank für deinen Änderungsvorschlag. Allerdings möchte ich ungern auf (== 1) vergleichen, da ein Gleichheits-Vergleich von float-Werten aufgrund der internen Speicherung nur manchmal funktionieren kann. Die beiden Zweige für "ratio >1" und dem else-Zweig (ratio <= 1) reichen meiner Meinung nach aus.

Ich werde heute oder morgen eine korrigierte Version 1.5.10 veröffentlichen.

Danke nochmal für deine Mitarbeit!

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Benutzeravatar
PCFreak
Beiträge: 18
Registriert: Di 12. Jun 2018, 17:30
Wohnort: Bayern

Re: Bilderupload klappt nicht

Beitrag von PCFreak »

Hallo Stefan,

perfekt gelöst, funktioniert! - Danke für das schnelle Updaten.

Gruß

Peter
Antworten