Seite 2 von 2

Re: Bilderupload klappt nicht

Verfasst: Di 19. Jun 2018, 17:09
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;
        }
...
...

Re: Bilderupload klappt nicht

Verfasst: Di 19. Jun 2018, 20:08
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

Re: Bilderupload klappt nicht

Verfasst: Mi 20. Jun 2018, 11:20
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

Re: Bilderupload klappt nicht

Verfasst: Fr 22. Jun 2018, 22:57
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

Re: Bilderupload klappt nicht

Verfasst: Fr 29. Jun 2018, 11:07
von PCFreak
Hallo Stefan,

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

Gruß

Peter