Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Images auch in Datei Größe Skaliren

  1. #1
    Registrierter Benutzer
    Registriert seit
    12.04.2007
    Beiträge
    22

    Smile Images auch in Datei Größe Skaliren

    Hallo
    Wie der Titel auch schon verrät will ich ein Bild auch in der Datei Größe Skalieren. Kann mir da einer weiterhelfen?
    Bis her mache ich halt nur <img src="./da/wo/es/is/bildname.jpeg" width="550" />
    Dann wird das Bild mit einer Breite von 550 angezeigt aber es wird noch immer die ganze Dateien grüße geladen das bei manchen Bilder ja schon mal eine weile dauern kann.

    Vielen dank für die Hilfe schonmal

    Gruß Roberto

  2. #2
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    04.10.2001
    Ort
    potsdam
    Beiträge
    881
    es reicht nicht aus, das bild klein darzustellen... Idealerweise liegt das pic in der anzeigegröße vor oder wird zur laufzeit erzeugt.
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  3. #3
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    mit dem befehl convert kannst du die bilder verkleinern.
    man convert verrät dir die genaue syntax.

  4. #4
    Registrierter Benutzer
    Registriert seit
    18.11.2004
    Beiträge
    23
    PHP-Code:
    <?php

    function imagecreatefromfile($filename)
    {
        static 
    $image_creators;

        if (!isset(
    $image_creators)) {
            
    $image_creators = array(
                
    1  => "imagecreatefromgif",
                
    2  => "imagecreatefromjpeg",
                
    3  => "imagecreatefrompng",
                
    16 => "imagecreatefromxbm"
            
    );
        }

        
    $image_size getimagesize($filename);
        if (
    is_array($image_size)) {
            
    $file_type $image_size[2];
            if (isset(
    $image_creators[$file_type])) {
                
    $image_creator $image_creators[$file_type];
                if (
    function_exists($image_creator)) {
                    return 
    $image_creator($filename);
                }
            }
        }

        
    // "imagecreatefrom...() returns an empty string on failure"
        
    return "";
    }

    function 
    resizeimage($src)
    {

        
    define('W',650);
        
    define('H',400);

        
    $jpg 1;
        
    $dst_w 0;
        
    $dst_h 0;

        if(
    file_exists($src)) {

            
    $is getimagesize($src);

            if(!
    is_array($is)) {
                return 
    false;
            }

            
    /* ist Datei jpg ? */
            
    if($is[2]!=2) {
                
    $jpg 0;
            }

            
    /* neue Koordinaten berechnen */
            
    if($is[0] > W) {
                
    $dst_w W;
                
    $dst_h intval(($is[1]/$is[0])*$dst_w);
            } else if(
    $is[1] > H) {
                
    $dst_h H;
                
    $dst_w intval(($is[0]/$is[1])*$dst_h);
            } else {
                
    $dst_h $is[1];
                
    $dst_w $is[0];
            }

            
    /* neue Datei erstellen */
            
    $img_src=imagecreatefromfile($src);
            
    $img_dst=imagecreatetruecolor($dst_w,$dst_h);
            
    imagecopyresampled($img_dst$img_src0000$dst_w$dst_h$is[0], $is[1]);

            if(!
    $jpg) {
                
    $src $src ".jpg";
            }

            
    imagejpeg($img_dst$src100);

            
    imagedestroy($img_dst);

            return 
    true;

        } else return 
    false;
    }

    ?>

  5. #5
    Registrierter Benutzer
    Registriert seit
    12.04.2007
    Beiträge
    22
    Zitat Zitat von rgubatz Beitrag anzeigen
    PHP-Code:
    <?php

    function imagecreatefromfile($filename)
    {
        static 
    $image_creators;

        if (!isset(
    $image_creators)) {
            
    $image_creators = array(
                
    1  => "imagecreatefromgif",
                
    2  => "imagecreatefromjpeg",
                
    3  => "imagecreatefrompng",
                
    16 => "imagecreatefromxbm"
            
    );
        }

        
    $image_size getimagesize($filename);
        if (
    is_array($image_size)) {
            
    $file_type $image_size[2];
            if (isset(
    $image_creators[$file_type])) {
                
    $image_creator $image_creators[$file_type];
                if (
    function_exists($image_creator)) {
                    return 
    $image_creator($filename);
                }
            }
        }

        
    // "imagecreatefrom...() returns an empty string on failure"
        
    return "";
    }

    function 
    resizeimage($src)
    {

        
    define('W',650);
        
    define('H',400);

        
    $jpg 1;
        
    $dst_w 0;
        
    $dst_h 0;

        if(
    file_exists($src)) {

            
    $is getimagesize($src);

            if(!
    is_array($is)) {
                return 
    false;
            }

            
    /* ist Datei jpg ? */
            
    if($is[2]!=2) {
                
    $jpg 0;
            }

            
    /* neue Koordinaten berechnen */
            
    if($is[0] > W) {
                
    $dst_w W;
                
    $dst_h intval(($is[1]/$is[0])*$dst_w);
            } else if(
    $is[1] > H) {
                
    $dst_h H;
                
    $dst_w intval(($is[0]/$is[1])*$dst_h);
            } else {
                
    $dst_h $is[1];
                
    $dst_w $is[0];
            }

            
    /* neue Datei erstellen */
            
    $img_src=imagecreatefromfile($src);
            
    $img_dst=imagecreatetruecolor($dst_w,$dst_h);
            
    imagecopyresampled($img_dst$img_src0000$dst_w$dst_h$is[0], $is[1]);

            if(!
    $jpg) {
                
    $src $src ".jpg";
            }

            
    imagejpeg($img_dst$src100);

            
    imagedestroy($img_dst);

            return 
    true;

        } else return 
    false;
    }

    ?>
    wenn ich imagecreatefromfile("./bildname.jpg"); mache komm nix bei mir.?
    Mache ich was falsch?

  6. #6
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    mach das bild doch kleiner,
    benutz dazu gimp oder eben convert in der kommandozeile.

  7. #7
    Registrierter Benutzer
    Registriert seit
    12.04.2007
    Beiträge
    22
    Hallo
    Hab den Code jetzt
    aber wie bekomme ich das in mein php Skript hinein?

    #imge skaliren
    PHP-Code:
        foreach ($_GET as $key => $value) $$key $value;

        
    Thumbnail($datei,$x,$y);

        function 
    Thumbnail($filename,$x 100,$y 0)
        {
            
    $size = @GetImageSize("$filename");
            if (
    $size[1] > 0$ratio $size[0] / $size[1];
            else 
    $ratio 1;
            if (
    $y == 0$y $x $ratio;
            
    $img = @ImageCreateFromJPEG ("$filename");
            if (
    $img)
            {
                
    $img2 ImageCreateTruecolor ($x$y);
                
    ImageCopyResampled ($img2$img0000$x$y$size[0], $size[1]);
                
    header("Content-type: image/jpg");
                
    ImageJPEG($img2,"",80);
            }
        } 
    #mein php skrypt

    PHP-Code:
    <?php

    $teiler 
    14;

    if(!empty(
    $_GET['k']) and !empty($_GET['id']) and $_GET['img'] > -1)
        {
            include 
    './bilder/'.$_GET['k'].'/'.$_GET['id'].'.php';
            
    $phat='
            <font style="font-size:11px;"><a href="./?src=src_bilder" style="font-size:11px;"><b>Bilder auswahl</b></a><br />
            &nbsp;&nbsp;'
    .$_GET['k'].'&nbsp;&nbsp;<a href="./?src=bilder&k='.$_GET['k'].'&id='.$_GET['id'].'" style="font-size:11px;"><b>'.$titel_bilder.'</b></a></font>';
        }
    else
        {
            
    $phat='
            <font style="font-size:11px;"><a href="./?src=src_bilder" style="font-size:11px;"><b>Bilder auswahl</b></a><br />
            &nbsp;&nbsp;'
    .$_GET['k'].'&nbsp;&nbsp;<a href="./?src=bilder&k='.$_GET['k'].'&id='.$_GET['id'].'" style="font-size:11px;"><b>'.$titel_bilder.'</b></a></font>';
        }

    $var_eval_index templates('./templates/bilder_header.html');
    eval(
    "\$var_eval_index = \"$var_eval_index\";");

    $var_eval_index $var_eval_index.templates_file('./templates/auf.html');
    $var_eval_index templates_nigiren($var_eval_index);
    eval(
    "\$var_eval_index = \"$var_eval_index\";");


    $dh opendir("./images/src_images/$k/$id");
    while(
    $filename readdir($dh))
        {
            if(
    $filename != '.' and $filename != '..')
            
    $bilder[] = $filename;
        }


    $seite ceil(count($bilder)/$teiler);

    $t=0;
    $b=-1;
    while(
    $seite)
        {
            
    $b++;
            
    $t++;
            
            if(
    $_GET['page'] == $b)    $page_switch $page_switch." <b style=\"color:#FFA000;\">[ $t ]</b>";
            else            
    $page_switch $page_switch." <a href=\"./?src=bilder&k=".$_GET['k']."&page=$b&id=".$_GET['id']."\">$t</a> ";
            
            
    $seite        =    $seite-1;
            if(
    $seite == 0)        break;
        }


    $img_table $page_switch.'<table width="100%" border="0" cellpadding="2" cellspacing="2">';

    $anfang $teiler*$_GET['page'];

    $b=1;
    for(
    $i=$anfang$i<=$teiler+$anfang$i++)
        {
                if(
    $b==1)
            {
                
    $img_table $img_table.'<tr align="center"><td>
                <a href="./?src=bilder_one&k='
    .$_GET['k'].'&page=1&id='.$_GET['id'].'&img='.$bilder[$i].'">
                
                <img src="./images/src_images/$k/$id/'
    .$bilder[$i].'" width="230" border="0" />
                
                </a></td>'
    ;
            }
            elseif(
    $b==2)
            {
                
    $img_table $img_table.'<td><a href="./?src=bilder_one&k='.$_GET['k'].'&page=1&id='.$_GET['id'].'&img='.$bilder[$i].'"><img src="./images/src_images/$k/$id/'.$bilder[$i].'" width="230" border="0" /></a></td>';
            }
            elseif(
    $b==3)
            {
                
    $img_table $img_table.'<td><a href="./?src=bilder_one&k='.$_GET['k'].'&page=1&id='.$_GET['id'].'&img='.$bilder[$i].'"><img src="./images/src_images/$k/$id/'.$bilder[$i].'" width="230" border="0" /></a></td></tr>';
                
    $b=0;
            }
            
    $b++;
        }

    $img_table $img_table.'</table>';

    $var_eval_index $var_eval_index.templates_file('./templates/bilder_show.html');
    $var_eval_index templates_nigiren($var_eval_index);
    eval(
    "\$var_eval_index = \"$var_eval_index\";");

    $var_eval_index $var_eval_index.templates_file('./templates/zu.html');
    $var_eval_index templates_nigiren($var_eval_index);
    eval(
    "\$var_eval_index = \"$var_eval_index\";");

    ?>

  8. #8
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    Zitat Zitat von msi Beitrag anzeigen
    mach das bild doch kleiner,
    benutz dazu gimp oder eben convert in der kommandozeile.
    das ist die saubere variante. damit verschwendest du auch keine rechenzeit

Lesezeichen

Berechtigungen

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