ilch Forum » Allgemein » HTML, PHP, SQL,... » Bild auf exakte größe zuschneiden

Geschlossen
  1. #1
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    Hallo liebe leute,

    ich habe ein Bild auf dem Webserver, $bild1 (pfad+bildname+endung)

    nun möchte ich dieses Bild via php auf exakt 310px breite x 134px höhe zuschneiden, Ausgangspunkt hierfür soll die Mitte des Bildes sein. Am idealsten wäre es, wenn mir das Bild dann Verhältnismässig auf 310px breite verkleinert wird und der Rest dann weggeschnitten wird... hat jemand schon erfahrungen mit sowas gesammelt?

    Vielen Dank für die Antworten!


    verwendete ilch Version: 1.1 P
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    Dazu brauchst du (wenn ich mich nicht irre) die GD Libary für PHP - der befehl heisst dann imagecrop. dazu findest du auch jede menge über google und Co. Hier nur eine kurzer Überblick
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    Danke!

    Das war mir aber zu kompliziert, jetzt erstelle ich mir erstmal die Bilder mit einer width-Angabe, die height ist dann immer um round about 10px zu groß oder zu klein - da wird dann aber gestretched... das andere mit der Library war mir zu kompliziert, das schreib ich mir mal auf meine To-Learn-list, aber momentan hält das zu sehr auf... dennoch danke!
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Wenn du nur width oder height angibst, wird mit dem richtigen Seitenverhältnis skaliert.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    ZitatZitat geschrieben von Mairu
    Wenn du nur width oder height angibst, wird mit dem richtigen Seitenverhältnis skaliert.


    lächeln das weiss ich ja, soweit bin ich schon gekommen. Es geht mir nun darum, das alle Bilder die gleiche Breite sowie Höhe haben, damit das Template schön gleichmäßig aussieht.
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Wenn alle Screenshots die gleichen Ausgangsmaße haben z.B. 800x600 dann kannst du als Alternative auch in der HTML-Ausgabe nur die Breitenangabe mitgeben z.B:
    <img src="PFAD_ZUM_BILD" width="310px" alt="NAME" />


    Dann werden alle Bilder "automatisch" verkleinert, das Problem hierbei ist, wenn das Ausgangsmaß unterschiedlich ist - also wenn z.B. Bild1 800x600 ist, Bild2 1200x500 usw... dann werden zwar alle Bilder die gleiche Breite haben, aber unterschiedliche Höhen.

    Wäre zumindest als Übergang bis zur PHP-Lösung eine Alternative. zwinker


    Zuletzt modifiziert von Ahrtas am 03.03.2014 - 19:38:12
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    Danke Ahrtas! Die Idee hatte ich auch schon, Problem beim Slider war jetzt nur, das dann die Bilder zwar z.B. 800 px breit waren, wenn man aber die Höhenangabe nicht gemacht hat, dann war das Bild z.B. 800px breit und nur 60 px hoch - es wurde dann wie auf der Streckbank demoliert xD

    Eine gute Lösung ist das hier:

    .slider_img_link{
     max-width: 800px;
     height: auto;}


    Damit sind die Bilder immer max. 800px breit und die Höhe bleibt (vorerst) dynamisch, aber es ist dann nie zu groß, so dass sich das Design der Site nicht verzieht lächeln
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Ok also wenn du das im Slider hast, dann geb dem Slider feste Maße und zusätzlich:
    //CSS
    overflow:hidden;


    So wird das Bild "optisch" abgeschnitten, ist dennoch komplett vorhanden.

    Sprich der Kasten behält seine Größe z.B. 800x300, das Bild kann ganz normal in vollen Maßen angezeigt werden z.B. 800x600 das Bild wird aber nach 300px "abgeschnitten".
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    N_8_11 Mitglied
    Registriert seit
    05.09.2011
    Beiträge
    57
    Beitragswertungen
    5 Beitragspunkte
    da muss ich mal ne frage mit einwerfen. von wo werden die 300px gerechnet. sollte ja von der mitte her sein ist es das dann auch?
    Intelligenz, behaupten die Intelligenten, ist die Fähigkeit, sich der Situation anzupassen. Wenn du ein Buch verkehrt in die Hand genommen hast, lerne, es verkehrt zu lesen.

    ---Wieslaw Brudzinski--
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    ZitatZitat geschrieben von N_8_11
    da muss ich mal ne frage mit einwerfen. von wo werden die 300px gerechnet. sollte ja von der mitte her sein ist es das dann auch?


    Nein, leider nicht. Du musst die Ausgangsposition bei jedem Bild neu rechnen (skaliert bzw. gecropt wird mit den xy-angaben, die du der Funktion mitgibst)

    Wenn du dem Script keien X oder Y Position mitteilst, fängt beides bei 0 an (null ist bei der X-Achse unten-Links und bei der Y-Achse auch unten links)
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten