Biblioteka PHP do manipulacji i przetwarzania obrazów
Biblioteka PHP typu open source, która umożliwia łatwe tworzenie, odczytywanie, modyfikowanie, zmianę rozmiaru i przycinanie obrazów JPEG, PNG, GIF, TIF, BMP, ICO, PSD i WebP.
Intervention Image to biblioteka do obróbki i przetwarzania obrazów PHP o otwartym kodzie źródłowym, która daje programistom możliwość tworzenia, modyfikowania i komponowania obrazów we własnej aplikacji PHP. Intervention Image ma opcjonalną obsługę Laravel i jest dostarczany z dostawcą usług i fasadami dla łatwej integracji. Biblioteka jest bardzo stabilna i pomaga zarządzać każdym zadaniem w łatwy sposób i przy minimalnym kodzie.
Biblioteka zapewnia obsługę dwóch najpopularniejszych bibliotek przetwarzania obrazu GD Library i Imagick. Zapewnia obsługę wielu popularnych formatów plików graficznych, takich jak JPEG, PNG, GIF, TIF, BMP, ICO, PSD, WebP i wielu innych. Czytelne formaty obrazów zależą od wybranego sterownika (GD lub Imagick) i lokalnej konfiguracji.
Biblioteka zawiera obsługę kilku ważnych funkcji przetwarzania obrazu, takich jak tworzenie obrazów od podstaw, odczytywanie istniejących obrazów, edycja istniejących obrazów, tworzenie miniatur obrazów, stosowanie efektów do obrazów, dodawanie znaków wodnych do obrazów, formatowanie dużych plików obrazów, zmiana rozmiaru obrazów zgodnie z do swoich potrzeb, rysuj tekst i kształtuj na obrazach, pobieraj informacje o obrazach i wiele więcej.
Pierwsze kroki z obrazem interwencyjnym
Wymaga PHP 5.4+ z rozszerzeniem GD2. Najlepszym sposobem na zainstalowanie obrazu interwencyjnego jest szybkie i łatwe zainstalowanie Kompozytora. Użyj następującego polecenia.
Zainstaluj obraz interwencyjny przez Composer
$ php composer.phar require intervention/image
Twórz nowe obrazy za pomocą PHP
Biblioteka obrazów interwencyjnych o otwartym kodzie źródłowym umożliwia programistom tworzenie nowej pustej instancji obrazu za pomocą poleceń PHP w ich własnych aplikacjach. Deweloperzy mogą zapewnić niestandardową szerokość, wysokość, a także zdefiniować wybrany przez siebie kolor tła. Jeśli kolor nie jest zdefiniowany, zostanie użyte domyślne tło płótna, które jest przezroczyste.
Utwórz nowy obraz i uzyskaj rozmiar pliku przez PHP
// create an image
$img = Image::make('public/foo.jpg');
// get file size
$size = $img->filesize();
Odczytywanie obrazów przez interfejs API PHP
Biblioteka Free Intervention Image zapewnia obsługę łatwego odczytywania różnych typów obrazów w aplikacji JavaScript. Musisz podać pełną ścieżkę obrazu, a resztę łatwo wykona biblioteka. Możesz również podać adres URL do obrazu i łatwo go odczytać. Może również odczytywać dane obrazu binarnego, dane obrazu zakodowane w base64 i nie tylko.
Przycinanie obrazu za pomocą PHP
Biblioteka obrazów interwencyjnych zawiera funkcję programowego przycinania obrazów przy użyciu kilku wierszy kodu JavaScript. Biblioteka umożliwia programistom zapewnienie niestandardowej szerokości i wysokości prostokątnej części oraz wycięcie tej części bieżącego obrazu zgodnie z podaną szerokością i wysokością. Opcjonalnie można również zdefiniować współrzędne x, y, aby przesunąć lewy górny róg wycięcia w określone miejsce.
Przytnij obraz przez PHP
// open file a image resource
$img = Image::make('public/foo.jpg');
// crop image
'$img->crop(100, 100, 25, 25);
Korzystanie z filtrów obrazu
Filtry to zestaw poleceń, które mogą uwydatnić niektóre funkcje lub usunąć inne funkcje. Daje użyteczną opcję grupowania poleceń transformacji obrazu w dedykowany obiekt, który może być użyty do zastosowania efektów na obrazie. Obiekt określi, której komendy użyć iw jakiej kolejności. Biblioteka obrazów interwencyjnych umożliwia również definiowanie własnych filtrów i łatwe ich stosowanie.
Zastosuj filtr do obrazu przez PHP
namespace Intervention\Image\Filters;
class DemoFilter implements FilterInterface
{
const DEFAULT_SIZE = 10;
private $size;
// Creates new instance of filter
public function __construct($size = null)
{
$this->size = is_numeric($size) ? intval($size) : self::DEFAULT_SIZE;
}
public function applyFilter(\Intervention\Image\Image $image)
{
$image->pixelate($this->size);
$image->greyscale();
return $image;
}
}