Forum Doku Wiki Blog

Forumsarchiv 2011, Dezember
Ausschnitt eines Bildes anzeigen

archivierte Beiträge lesen

  1. (PHP) Ausschnitt eines Bildes anzeigen von V3xX, 28. 12. 2011, 11:25

Ausschnitt eines Bildes anzeigen

Der folgende Beitrag wurde am 28. 12. 2011, 11:25 Uhr von V3xX veröffentlicht.

Guten Tag,

zu meinem Problem:
Ich möchte gerne 4 gleich grosse (gleich hoch & gleich breit) Bilder nebeneinander anzeigen lassen.
Dies sind nicht immer die 4 gleichen, sollen also per Random aus über 2000 Bilder ausgewählt werden.
So weit so gut, aber ich will die Bilder nicht verzerren sondern nur einen Ausschnitt aus einem Bild nehmen.

Ich habe bereits etwas gefunden, da wird aber jeweils eine neue Datei angelegt. Dies will ich aber nicht, es soll das Bild einfach nur anzeigen.


Hat jemand einen Lösungsansatz?


Besten Dank und freundliche Grüsse
V3xX

Ausschnitt eines Bildes anzeigen

Der folgende Beitrag wurde am 28. 12. 2011, 11:29 Uhr von ChrisB veröffentlicht.

Hi,

> So weit so gut, aber ich will die Bilder nicht verzerren sondern nur einen Ausschnitt aus einem Bild nehmen.

Ja dann nimm doch ...

> Ich habe bereits etwas gefunden,

Ach.
Und was?

> da wird aber jeweils eine neue Datei angelegt. Dies will ich aber nicht, es soll das Bild einfach nur anzeigen.

Das Beispiel zur verlinkten Funktion enthält bereits eine direkte Ausgabe des Bildes, ohne Speicherung auf Platte.

MfG ChrisB


--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?

Ausschnitt eines Bildes anzeigen

Der folgende Beitrag wurde am 28. 12. 2011, 11:37 Uhr von V3xX veröffentlicht.

Hallo,

> Ja dann nimm doch ...
Besten Dank, werde ich gleich mal versuchen.


> Ach.
> Und was?
imagecopyresized


> Das Beispiel zur verlinkten Funktion enthält bereits eine direkte Ausgabe des Bildes, ohne Speicherung auf Platte.
eigentlich genau das, was ich suche =)


Danke für deine Bemühungen, Gruss
V3xX

Ausschnitt eines Bildes anzeigen

Der folgende Beitrag wurde am 28. 12. 2011, 11:48 Uhr von Felix Riesterer veröffentlicht.

Liebe(r) V3xX,

> > eine direkte Ausgabe des Bildes, ohne Speicherung auf Platte.
> eigentlich genau das, was ich suche =)

warum definierst Du keine <span>-Elemente in den gewünschten fixen Maßen, in denen Du die fraglichen Bilder als Hintergrundbild definierst, welches horizontal und vertikal zentriert angezeigt wird? Damit sparst Du Dir die rechenintensiven PHP-Funktionen gänzlich und entlastest Deinen Server merklich.

Liebe Grüße,

Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)

Ausschnitt eines Bildes anzeigen

Der folgende Beitrag wurde am 29. 12. 2011, 12:11 Uhr von Detlef G. veröffentlicht.

Hallo Felix

> warum definierst Du keine <span>-Elemente in den gewünschten fixen Maßen, in denen Du die fraglichen Bilder als Hintergrundbild definierst, welches horizontal und vertikal zentriert angezeigt wird? Damit sparst Du Dir die rechenintensiven PHP-Funktionen gänzlich und entlastest Deinen Server merklich.

Dafür muss jedes mal das komplette Bild zum Client übertragen werden.

Ich denke, für die Entscheidung ob die PHP- oder die CSS-Lösung verwendet wird, sollte auch berücksichtigt werden, wie groß die großen Bilder und wie klein die Ausschnitte sind, und ob die großen Bilder häufig sowieso auch noch komplett angezeigt werden sollen.



Auf Wiederlesen
Detlef

--
- Wissen ist gut
- Können ist besser

- aber das Beste und Interessanteste ist der Weg dahin!

Ausschnitt eines Bildes anzeigen

Der folgende Beitrag wurde am 10. 01. 2012, 14:55 Uhr von V3xX veröffentlicht.

Hallo zusammen,

Konnte das Problem lösen, besten Dank für die Hilfe euch allen!


freundliche Grüsse
V3xX

Ausschnitt eines Bildes anzeigen

Der folgende Beitrag wurde am 10. 01. 2012, 20:23 Uhr von Felix Riesterer veröffentlicht.

Liebe(r) V3xX,

> Konnte das Problem lösen, besten Dank für die Hilfe euch allen!

und warum verrätst Du nicht, wie?

> freundliche Grüsse

So freundlich finde ich das nicht, dass Du den freiwilligen Helfern verschweigst, ob sich ihre Zeit und Mühe gelohnt hat, oder ob Du sämtliche Tipps einfach in den Mülleimer geworfen und etwas völlig anderes gemacht hast.

Liebe Grüße,

Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)

Ausschnitt eines Bildes anzeigen

Der folgende Beitrag wurde am 11. 01. 2012, 07:52 Uhr von V3xX veröffentlicht.

Hallo Felix,

Sorry, natürlich verrate ich wie.

Ich habe zuerst die Sache mit dem span versucht, dies hat dann aber nicht so funktioniert wie ich das wollte, da die Ausschnitte sehr klein sind und die Bilder ca die Hälfte eines 19" Monitors bedecken.

Die anderen Sachen mit den Thumbnails habe ich irgendwie nicht auf die Reihe gebracht, also habe ich das Problem folgendermassen gelöst:

Die Maximale Breite, die die Bilder einnehmen dürfen ist 641px.
Also habe ich eine Funktion erstellt, die immer ein Random-Bild aus der gallery auswählt und anschliessend überprüft ob von den 641px noch Platz ist.
Wenn ja, wird die Breite wiederum dazugezählt und es wird das nächste Bild ausgesucht.
Hat ein Bild nicht mehr genug Platz, endet die Funktion.

Hier die Funktion:

function getPic($anz){
        //Globale Variablen
        global $pics;          //schlussendlich die Bilder welche klein dargestellt werden
        global $all_files;     //alle Bilder im Array
        global $actualpix;     //Die bereits eingenommene Breite
        $ran = rand(0, $anz);  //Zahl ziehen
        $maxpix = 641;
        
        if (count($pics) != 0){
                if (in_array($ran, $pics)){
                        getPic($anz);  //Damit gleiches Bild nicht zweimal kommt
                } else {
                        $tmp = getimagesize($main.$all_files[$ran]);
                        $h = 100/$tmp[1]*130; //Höhe in Prozent ausrechnen (neue Höhe 130px)
                        if ($actualpix + $tmp[0]/100*$h+5 <= $maxpix){
                                $pics[] = $ran;
                                $actualpix += $tmp[0]/100*$h+5; //Fünf wegen padding dazurechnen
                                getPic($anz);
                        }
                }
        } else {
                $tmp = getimagesize($main.$all_files[$ran]);
                $h = 100/$tmp[1]*130;
                $actualpix = $tmp[0]/100*$h+5;
                $pics[] = $ran;
                getPic($anz);
        }
}

Ausschnitt eines Bildes anzeigen

Der folgende Beitrag wurde am 28. 12. 2011, 11:40 Uhr von bleicher veröffentlicht.

Grüße,
genau genommen hätte es auch passives style-formatierung in den meisten fällen getan.. oder spricht was gegen? willst du nur sehr kleine bereiche sehr großer bilder anzeigen?
MFG
bleicher
--
__________________________-


FirefoxMyth

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4