Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: Bild verzerrung verhindern?

  1. #1
    gelöschter User
    Gast

    Standard Bild verzerrung verhindern?

    Ich hänge ma wieder an meiner Page.

    Ich habe eine ausgabe von Bilder von aus der DB die angezeigt werden!

    Code:
    while($fetch = mysql_fetch_array($query)) { 
    echo '<table width="100%" border="1" cellspacing="2" cellpadding="0" align="center"> 
    <tr>
    <td>[img]'. $fetch&#91;'bild'&#93;.'[/img]</td>
    </tr>
    <tr>
    <td><center>Beschreibung &#58; '. $fetch&#91;'beschreibung'&#93;.'</center></td>
    </tr>
    </table>
    ';
    &#125;
    So das Problem ist das wenn der Besucher ein Bild postet was sehr groß ist, muss mann scrollen bei meiner Page.

    Nun möchte ich es so haben das das Bild verkleinert wird auf eine bestimmte höchst breite und länge.
    Aber wenn ich z.b. so mache :
    [code]
    <td>[img]'. $fetch['bild'].'[/img]</td>
    [code]

    Ist das ganze Bild verzerrt.

    Wie stelle ich es an das das bild verkleiner wird aber nicht verzerrt? Geht das überhaupt?


    Gruß crazywulf
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiser(in)
    Registriert seit
    03.06.2004
    Beiträge
    2.557
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    mit getimagesize($bild) erhälst du einen array. [0] = breite [1] = höhe

    ==> du dividierst in einer while-schleife solang durch einen faktor bis das bild unter eine gewissen grenze ist.

    bsp:
    [php:1:99dada7afd]<?php
    while ($groese[0] > "500") {
    $groese[0] = $groese[0] / 1.2
    $groese[1] = $groese[1] / 1.2
    }

    echo '[img]'.$bild.'[/img][/php:1:99dada7afd]

    so lädt er halt trotzdem die volle größe. mit anderen image-befehlen kannst du dann noch die größe in "echt" runtersetzen, aber das setzt vorraus, dass das in php aktiviert ist.

    mfg

  3. #3
    gelöschter User
    Gast

    Standard

    Ich bin zu doof sowas einzubinden lol

    Code:
    while&#40;$fetch = mysql_fetch_array&#40;$query&#41;&#41; &#123; 
    while &#40;$groese&#91;0&#93; < "500"&#41; &#123;
    $groese&#91;0&#93; = $groese&#91;0&#93; / 1.2
    $groese&#91;1&#93; = $groese&#91;1&#93; / 1.2
    &#125;
    
    echo '<table width="100%" border="1" cellspacing="2" cellpadding="0" align="center"> 
    <tr>
    <td>[img]'. $fetch&#91;'bild'&#93;.'[/img]</td>
    </tr>
    <tr>
    <td><center>Beschreibung &#58; '. $fetch&#91;'beschreibung'&#93;.'</center></td>
    </tr>
    </table>
    ';
    &#125;
    Parse error: parse error, unexpected T_VARIABLE in D:\PageProgramming\bildb.php on line 23

    was hab ich vergessen zu machen?

  4. #4
    Azubi(ne) Avatar von AZ-ID
    Registriert seit
    10.10.2004
    Ort
    Erftstadt
    Alter
    40
    Beiträge
    62
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo,

    Du hast eine kleine Sache vergessen,

    setze mal vor die while Schleife

    Code:
    $groesse = getimagesize&#40;$bild&#41;;
    MfG
    Andi Z.
    Ohne Fleiß kein Preis

    www.az-id.de - Internetdienstleistungen
    www.Bandinformation.de - Das Portal für Newcomerbands aus Deutschland.
    www.Reptiweb.de - Das Infoportal für Reptilienfans.

  5. #5
    gelöschter User
    Gast

    Standard

    ojee.... ich weiss ned mehr ob ich nochma in php rein komm

    [php:1:0dfd205d75]
    <?
    $query = mysql_db_query("$dbName", "SELECT * FROM cr_bildb");

    while($fetch = mysql_fetch_array($query)) {
    $bildg = $fetch['bild'];
    $groesse = getimagesize($bildg);
    while ($groese[0] < "500") {
    $groese[0] = $groese[0] / 1.2
    $groese[1] = $groese[1] / 1.2 # Hier kommt der error
    }
    [/php:1:0dfd205d75]

    Parse error: parse error, unexpected T_VARIABLE in D:\PageProgramming\bildb.php on line 25

    Gruß crazywulf

  6. #6
    Kaiser(in)
    Registriert seit
    03.06.2004
    Beiträge
    2.557
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    wie wärs mit strichpunkten

    sorry, hab das zuvor in eile geschrieben...

  7. #7
    Teeny
    Registriert seit
    28.03.2005
    Beiträge
    38
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    du kannst die größe des bildes gleich ändern wenn es auf den server bzw. in die db geladen wird.
    schalte die gd2-erweiterung frei. mit der kannst du bilder bearbeiten/erstellen/speicher.

    mfg. alex

  8. #8
    Gast

    Standard

    Beste Loesung: bei dem Upload des Bildes eine maximale Groesse vorschreiben und den User das Bild vorher passend machen lassen
    (am wenigsten Aufwand und Traffic fuer dich).

    Alternative 1: Das Bild mit Hilfe der gdlib in php mit gleichbleibenden Proportionen
    herunterrechnen, direkt beim Hochladen oder beim Abruf aus der Datenbank.

    Alternative 2: Wenn man das Original-Bild in der Original-Groesse nicht
    veraendern will (und z.b. auf Klick in Original-Groesse anzeigen moechte): Das Bild in einem nicht-sichtbaren HTML-Element (div auf hidden) laden,
    per JavaScript die Groesse des Bildes auslesen, per JavaScript die Groesse des Bildes entsprechend anpassen
    und das nicht-sichtbare Element mit dem Bild in der berechneten Groesse auf sichtbar schalten.
    Vorteile: Keine Last durch Umrechnungen auf dem Server (gdlib-operationen sind rechenzeitaufwendig)
    weil das "Scaling" (Aendern der Bildgroesse unter beibehaltung der Proportionen)
    in dem Fall vom Browser des Users durchgefuehrt wird.

    Gruss,
    Gast

  9. #9
    Großmeister(in)
    Registriert seit
    03.01.2005
    Beiträge
    582
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Re: Bild verzerrung verhindern?

    Zitat Zitat von cr@zywulf
    <td>[img]'. $fetch['bild'].'[/img]</td>
    Ich denke, die einfachste Variante ist, nur ein Größen-Attribut anzugeben, also entweder "width", oder "height". Dann wird das Bild proportional verkleinert, bzw. vergrössert, angezeigt.
    Der Nachteil ist, dass der Platz für das Bild beim Seitenaufbau nicht im Voraus berücksichtigt wird, sondern erst, wenn das Bild geladen ist. Das kann aber u. U. vernachlässigt werden.
    MfG
    6_freddy

  10. #10
    Kaiser(in)
    Registriert seit
    03.06.2004
    Beiträge
    2.557
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Re: Bild verzerrung verhindern?

    Zitat Zitat von 6_freddy
    Der Nachteil ist, dass der Platz für das Bild beim Seitenaufbau nicht im Voraus berücksichtigt wird, sondern erst, wenn das Bild geladen ist. Das kann aber u. U. vernachlässigt werden.
    du kannst auch eine feste breite vorgeben, dann nachschaun um welchen faktor das bild auf diese breite verkleinert werden muss und die höhe dann um den selben faktor verkleinern .... nur eine frage der mathematik.

    mfg

Ähnliche Themen

  1. Missbrauch verhindern!
    Von Shyne im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 20.06.2008, 22:41
  2. Besuchertausch verhindern
    Von incendium im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 19
    Letzter Beitrag: 28.03.2008, 12:36
  3. Verzerrung
    Von chrescht im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 06.01.2006, 16:38
  4. Cache verhindern
    Von im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 17.04.2005, 19:24
  5. Verhindern der Scrollbarkeit
    Von minalva im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 23.03.2005, 20:14

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •