PHP bibliotēka attēlu manipulēšanai un apstrādei
Atvērtā pirmkoda PHP bibliotēka, kas ļauj viegli izveidot, lasīt, modificēt, mainīt izmērus un apgriezt JPEG, PNG, GIF, TIF, BMP, ICO, PSD, WebP attēlus.
Intervention Image ir atvērtā pirmkoda PHP attēlu apstrādes un apstrādes bibliotēka, kas programmatūras izstrādātājiem sniedz iespēju izveidot, modificēt un komponēt attēlus savā PHP lietojumprogrammā. Intervention Image ir izvēles atbalsts Laravel, un tas ir aprīkots ar pakalpojumu sniedzēju un fasādēm ērtai integrācijai. Bibliotēka ir ļoti stabila un palīdz viegli un ar minimālu kodu pārvaldīt katru uzdevumu.
Bibliotēka ir nodrošinājusi atbalstu divām visizplatītākajām attēlu apstrādes bibliotēkām GD Library un Imagick. Tas ir nodrošinājis atbalstu daudziem populāriem attēlu failu formātiem, piemēram, JPEG, PNG, GIF, TIF, BMP, ICO, PSD, WebP un daudziem citiem. Lasāmo attēlu formāti ir atkarīgi no izvēlētā draivera (GD vai Imagick) un vietējās konfigurācijas.
Bibliotēka ir iekļāvusi atbalstu vairākām svarīgām attēlu apstrādes funkcijām, piemēram, attēlu izveidei no jauna, esošo attēlu lasīšanai, esošo attēlu rediģēšanai, attēlu sīktēlu izveidei, efektu pielietošanai attēliem, ūdenszīmju pievienošanai attēliem, lielu attēlu failu formatēšanai, attēlu izmēru maiņai atbilstoši savām vajadzībām, zīmējiet tekstu un veidojiet attēlus, izgūstiet attēla informāciju un daudz ko citu.
Darba sākšana ar intervences attēlu
Tam nepieciešama PHP 5.4 vai jaunāka versija ar GD2 paplašinājumu. Labākais veids, kā ātri un vienkārši instalēt Intervention Image, ir programma Composer. Lūdzu, izmantojiet šādu komandu.
Instalējiet Intervention Image, izmantojot komponistu
$ php composer.phar require intervention/image
Izveidojiet jaunus attēlus, izmantojot PHP
Atvērtā pirmkoda Intervention Image bibliotēka ļauj programmatūras izstrādātājam izveidot jaunu tukšu attēla gadījumu, izmantojot PHP komandas savās lietojumprogrammās. Izstrādātāji var nodrošināt pielāgotu platumu, augstumu un var arī definēt fona krāsu pēc savas izvēles. Ja krāsa nav definēta, tiks izmantots noklusējuma audekla fons, kas ir caurspīdīgs.
Izveidojiet jaunu attēlu un iegūstiet faila lielumu, izmantojot PHP
// create an image
$img = Image::make('public/foo.jpg');
// get file size
$size = $img->filesize();
Attēlu lasīšana, izmantojot PHP API
Bezmaksas iejaukšanās attēlu bibliotēka ir nodrošinājusi atbalstu dažādu veidu attēlu lasīšanai JavaScript lietojumprogrammā. Jums ir jānorāda pilns attēla ceļš, un pārējo bibliotēka viegli izpildīs. Varat arī norādīt attēla URL, un tas var to viegli nolasīt jūsu vietā. Tas var arī nolasīt bināros attēlu datus, base64 kodētos attēlu datus un daudz ko citu.
Attēla apgriešana, izmantojot PHP
Intervences attēlu bibliotēkā ir iekļauta funkcionalitāte, lai programmatiski apgrieztu attēlus, izmantojot pāris JavaScript koda rindiņas. Bibliotēka ļauj izstrādātājiem nodrošināt pielāgotu taisnstūra daļas platumu un augstumu un izgriezt šo pašreizējā attēla daļu atbilstoši norādītajam platumam un augstumam. Pēc izvēles varat arī definēt x, y koordinātas, lai pārvietotu izgriezuma augšējo kreiso stūri uz noteiktu vietu.
Apgriezt attēlu, izmantojot PHP
// open file a image resource
$img = Image::make('public/foo.jpg');
// crop image
'$img->crop(100, 100, 25, 25);
Attēlu filtru izmantošana
Filtri ir komandu kopums, kas var uzsvērt noteiktas funkcijas vai noņemt citus līdzekļus. Tas sniedz jums noderīgu iespēju grupēt attēla pārveidošanas komandas īpašā objektā, un objektu var izmantot, lai attēlam piemērotu efektus. Objekts noteiks, kuru komandu izmantot un kādā secībā. Intervences attēlu bibliotēka ļauj arī definēt savus filtrus un tos viegli lietot.
Lietojiet filtru attēlam, izmantojot 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;
}
}