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: 38473
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-2021 v.1.5 | design: diviXdesign & rainbowcolors