Loading:


    Zmiana wielkości obrazka JPEG " w locie " (kalibracja do rozmarów)

    Skrypt generuje podany obrazek do obrazu JPEG, który jest kalibrowany do odpowiednich rozmiarów. Oznacza to, że zależności między wysokością oraz szerokością zostają zachowane, czyli obrazki nie są nie naturalnie rozciągane.

     

    Przykład bazuje na szerokości 80 pikseli oraz wysokości równej 60 pikseli.



    //zastosowanie kodu:
    przeskalujObrazek('logo.jpg', 80, 60);



    Napisz Artyku³

    Listing

    <?php
    $obrazek = "http://funkcje.net/obrazek.jpg";
    $max_szerokosc = 80;
    $max_wysokosc = 60;

    //KOD POBRANY ZE STRONY www.Funkcje.net
    //WSZELKIE PRAWA AUTORSKIE ZASTRZEŻONE
    function przeskalujObrazek($obrazek, $max_szerokosc, $max_wysokosc) {

      $rozmiar = GetImagesSize($obrazek);
      $szerokosc = $rozmiar[0];
      $wysokosc = $rozmiar[1];

      $wspolczynnik_x = $max_szerokosc / $szerokosc;
      $wspolczynnik_y = $max_wysokosc / $wysokosc;

      if (($szerokosc <= $max_szerokosc) && ($wysokosc <= $max_wysokosc)) {
        $nowa_szerokosc = $szerokosc;
        $nowa_wysokosc = $wysokosc;
      }
      else if (($wspolczynik_x * $wysokosc) < $max_wysokosc) {
        $nowa_wysokosc = ceil($wspolczynnik_x * $wysokosc);
        $nowa_szerokosc = $max_szerokosc;
      }
      else {
        $nowa_szerokosc = ceil(wspolczynnik_y * $szerokosc);
        $nowa_wysokosc = $max_wysokosc;
      }

      $zrd = ImageCreateFromJpeg($obrazek);
      $prz = ImageCreate($nowa_szerokosc, $nowa_wysokosc);
      ImageCopyResized($prz, $zrd, 0, 0, 0, 0, $nowa_szerokosc, $nowa_wysokosc, $szerokosc, $wysokosc);

      header('Content-type: Image/jpeg');
      ImageJpeg($prz, null, -1);
      ImageDestroy($prz);
      ImageDestroy($zrd);
    }

    ?>




    Dodano przez: divix
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors