Zmień rozmiar obrazu w PHP

Zmień rozmiar obrazu w PHP
Obrazy są główną częścią każdej nowoczesnej strony internetowej. Nie możemy sobie teraz wyobrazić żadnej strony internetowej bez żadnego obrazu. Obraz jest wymagany do zmiany rozmiaru do prawidłowego wyświetlania strony internetowej, a rozmiar obrazu jest wymagany do zmiany w zależności od ekranu urządzenia. Istnieje wiele sposobów zmiany rozmiaru obrazu. tag HTML ma wysokość I szerokość atrybut, aby zmienić rozmiar dowolnego obrazu, ale rozmiar obrazu pozostaje ustalony dla wszystkich typów urządzeń w tym przypadku. PHP ma wiele wbudowanych funkcji, aby zmienić rozmiar obrazu w czasie wykonania. W tym samouczku pokazano zastosowania różnych funkcji PHP do zmiany rozmiaru obrazu.

Funkcje ładowania obrazu

Obraz wymaga załadowania skryptu przed zmianą zmiany rozmiaru. W PHP istnieje wiele wbudowanych funkcji, aby załadować różne typy obrazów. Niektóre powszechnie używane funkcje są wymienione poniżej.

  • imagecreatefromjpeg () - Służy do załadowania obrazu formatu JPEG.
  • imagecreatefompng () - Służy do załadowania obrazu formatu PNG.
  • imagecreatefromgif () - Służy do załadowania obrazu formatu GIF.

Wymagana funkcja, aby zmienić rozmiar obrazu

getImagesize () Funkcja służy do pobierania niezbędnych informacji o dowolnym obrazie, który zostanie użyty do zmiany rozmiaru obrazu. Zwraca szereg siedmiu elementów. Pierwsze trzy indeksy są głównie wymagane do zmiany rozmiaru obrazu, a indeksy te zawierają szerokość, wysokość i rodzaj obrazu. PHP ma wiele rodzajów wbudowanych funkcji do zmiany rozmiaru obrazu, a każdy z nich może być używany na podstawie zwróconej wartości getImagesize () funkcjonować.

Wymagania wstępne

Biblioteka GD PHP została użyta w tym samouczku do załadowania i rozmiaru obrazu. Musisz zainstalować tę bibliotekę i włączyć gd rozszerzenie w php.ini Plik przed przetestowaniem skryptu tego samouczka.

1. Uruchom następujące polecenia, aby zaktualizować system i zainstalować bibliotekę GD PHP.

Aktualizacja $ sudo apt-get
$ sudo apt-get instaluj php-gd

2. Otwórz PHP.plik INI z /etc/php/8.0/apache2/php.ini lokalizacja i usuń półkolis (;) z przodu następującej linii.

rozszerzenie = gd2

Przykłady rozmiaru obrazów

W tej części samouczka pokazano zastosowania niektórych wbudowanych funkcji PHP.

Przykład-1: Zmiana obrazu za pomocą funkcji Imagecrop ()
Utwórz plik PHP z następującym skryptem, aby zmienić rozmiar obrazu za pomocą za pomocą Imagecrop () funkcja, która służy do przycinania obrazu. Po wykonaniu następującego skryptu oryginalny obraz i przycięte obrazy zostaną wyświetlone w przeglądarce.

// Ustaw ścieżkę oryginalnego obrazu
$ orginal_filename = "Images/Bird1.jpg ";
// Ustaw ścieżkę zmodyfikowanego obrazu
$ Modified_FileName = "Images/Bird11.jpg ";
// Zainicjuj zmienną, aby sprawdzić obsługiwany format obrazu
$ imgformat = true;
// Uzyskaj wartości szerokości, wysokości i typu oryginalnego obrazu
lista ($ szerokość, $ high, $ type) = getImagesize ($ orginal_fileName);
if ($ type == imageType_jpeg)
$ img = imagecreatefromjpeg ($ orginal_fileName);
elseif ($ type == imageType_png)
$ img = imagecreatefompng ($ orginal_fileName);
elseif ($ type == imageType_gif)
$ img = imagecreateFromgif ($ orginal_fileName);
w przeciwnym razie
$ imgformat = false;
if ($ imgformat)

// pokaż oryginalny obraz
Echo "";
// Przycinaj obraz na podstawie argumentu używanego w funkcji Imagecrop ()
$ img_crop = imagecrop ($ img, ['x' => 10, 'y' => 10, 'szerokość' => $ szerokość 100, 'height' => $ height-100]);
// Utwórz nowy zmodyfikowany plik obrazu
ImageJPeg ($ img_crop, $ modyfikowane_filename);
Imagedestroy ($ img_crop);
// pokaż zmodyfikowany obraz
Echo "";

w przeciwnym razie
Echo „Format obrazu nie jest obsługiwany."
?>

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Zmodyfikowany obraz pokazuje przycięty obraz na podstawie użytych wartości Imagecrop () funkcjonować.

Przykład-2: Zmiana obrazu za pomocą funkcji ImageCopyresized ()
Utwórz plik PHP z następującym skryptem, aby zmienić rozmiar obrazu za pomocą funkcji IMAMECOPyResize (). Ta funkcja wymaga dziesięciu wartości argumentów, aby zmienić rozmiar obrazu i zwraca true do pomyślnego rozmiaru obrazu, w przeciwnym razie zwraca false. Po wykonaniu następującego skryptu oryginalny obraz i przycięte obrazy zostaną wyświetlone w przeglądarce.

// Ustaw ścieżkę oryginalnego obrazu
$ orginal_filename = "images/Bird2.jpg ";
// Ustaw ścieżkę zmodyfikowanego obrazu
$ Modified_FileName = "Images/Bird22.jpg ";
// Uzyskaj wartości szerokości, wysokości i typu oryginalnego obrazu
lista ($ szerokość, $ high, $ type) = getImagesize ($ orginal_fileName);
// pokaż oryginalny obraz
Echo "";
// Ustaw wysokość i szerokość nowego obrazu
$ n_Width = $ szerokość+100;
$ n_height = $ high+100;
$ img = imagecreatefromjpeg ($ orginal_fileName);
$ Nimg = ImageCreateTrueColor ($ n_width, $ n_height);
// Zmiana zmiany obrazu na podstawie argumentów użytych na funkcji Imagecopyresized ()
ImageCopyresised ($ Nimg, $ img, 0, 0, 0, 0, $ n_width, $ n_height, $ szerokość, $ wysokość);
// Utwórz nowy zmodyfikowany plik obrazu
ImageJPeg ($ NIMG, $ MODIFIDED_FILEName);
Imagedestroy ($ NIMG);
// pokaż zmodyfikowany obraz
Echo "";

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Wyjście pokazuje, że wysokość i szerokość zmodyfikowanego obrazu wzrosły o 100 pikseli.

Przykład-3: Zmiana obrazu za pomocą funkcji ImagecopyResampled ()
Utwórz plik PHP z następującym skryptem, aby zmienić rozmiar obrazu za pomocą funkcji ImagecopyResampled (). Ta funkcja wymaga dziesięciu wartości argumentów, aby zmienić rozmiar obrazu Imagecopyresised () funkcjonować. Zwraca prawdziwie w celu pomyślnego rozmiaru obrazu, w przeciwnym razie zwraca false. Po wykonaniu następującego skryptu oryginalny obraz i przycięte obrazy zostaną wyświetlone w przeglądarce.

// Ustaw ścieżkę oryginalnego obrazu
$ orginal_filename = "Images/Bird4.jpg ";
// Ustaw ścieżkę zmodyfikowanego obrazu
$ Modified_FileName = "Images/Bird44.jpg ";
// pokaż oryginalny obraz
Echo "";
// Zdobądź nowe wymiary
lista ($ szerokość, $ high) = getImagesize ($ orginal_fileName);
$ nwidth = $ szerokość * 2;
$ nheight = $ high * 2;
// Próbuj obrazu
$ Nimg = ImageCreateTrueColor ($ nWidth, $ nheight);
$ img = imagecreatefromjpeg ($ orginal_fileName);
ImageCopyResampled ($ Nimg, $ img, 0, 0, 0, 0, $ nwidth, $ nheight, $ szerokość, $ wysokość);
// Utwórz nowy plik obrazu
ImageJPeg ($ NIMG, $ MODIFIDED_FILEName);
Imagedestroy ($ NIMG);
// pokaż zmodyfikowany obraz
Echo "";
?>

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Dane wyjściowe pokazuje, że zmodyfikowany obraz został zmieniony, aby podwoić oryginalny obraz.

Wniosek

W PHP istnieje wiele wbudowanych funkcji, aby zmienić rozmiar obrazu na wiele sposobów. Zastosowania trzech funkcji pokazano w przykładach tego samouczka, aby pomóc użytkownikom PHP w poznaniu sposobu zmiany rozmiaru obrazu w PHP.