1. Produkty
  2.   Obraz
  3.   PHP
  4.   WideImage
 
  

Open Source PHP API do manipulowania obrazami

Biblioteka PHP, która umożliwia programistom łatwe ładowanie, zmianę rozmiaru i konwertowanie obrazów GIF, PNG i JPEG.

WideImage to zorientowana obiektowo biblioteka typu open source, która daje programistom możliwość manipulowania obrazami w ich własnych aplikacjach PHP. Biblioteka zapewnia prosty sposób ładowania, manipulowania i zapisywania obrazów w najpopularniejszych formatach graficznych. Biblioteka obsługuje takie funkcje, jak zmiana rozmiaru obrazów, przycinanie, scalanie, pisanie tekstu z cieniem, konwersja do innych formatów, klonowanie obrazu, stosowanie znaku wodnego na obrazie i wiele innych.

Biblioteka obecnie obsługuje niektóre z najpopularniejszych formatów plików graficznych, które są natywnie obsługiwane przez rozszerzenie GD na serwerze, takie jak GIF, PNG, JPG, GD, GD2, WBMP, XBM i XPM. Obsługuje również BMP (odczyt/zapis) i TGA (tylko do odczytu). Biblioteka zawiera obsługę konwersji międzyformatowej. Programiści mogą łatwo załadować obraz w wybranym przez siebie formacie, a następnie zapisać go w dowolnym innym obsługiwanym formacie pliku obrazu.

Biblioteka wykorzystuje rozszerzenie GD do wykonywania większości obsługiwanych operacji na obrazach. Rozszerzenie GD nie obsługuje niektórych funkcji, a niektóre działają wolno, ponieważ są zakodowane w czystym PHP. Zespół WideImage ciężko pracował nad optymalizacją kodu biblioteki i zaktualizował funkcje GD, aby poprawić wydajność.

Previous Next

Pierwsze kroki z WideImage

Wymaga PHP 5.2+ z rozszerzeniem GD2. Możesz łatwo zainstalować bibliotekę WideImage przez PEAR. Użyj następującego polecenia.

Zainstaluj WideImage przez PEAR

pear channel-discover pear.kozak.si
pear install kozak.si/WideImage 

Zapisywanie obrazów w innych formatach za pomocą PHP

Biblioteka WideImage typu open source zapewnia obsługę zapisywania obrazów do pliku bezpośrednio w przeglądarce lub może pobierać dane obrazu jako ciąg we własnych aplikacjach. Aby zapisać do pliku, musisz podać nazwę pliku i jego ścieżkę jako parametr. Podczas zapisywania w formacie JPEG lub PNG można ustawić jakość obrazu dla JPEG i poziom kompresji dla PNG. Pobierając jako ciąg, możesz bez wysiłku przechwytywać dane obrazu i zapisywać je w bazie danych lub pliku. Możesz także zapisać obraz bezpośrednio w przeglądarce. Musisz podać parametr typu obrazu, a zostanie on zapisany w sugerowanym formacie.

Zapisz obraz do pliku za pomocą PHP API

include "path-to/WideImage.php";
//load Image
$image = WideImage::load("path-to/image.jpg");
// save to jpeg, quality=40
$img->saveToFile('image.jpg', 40);
// save to png, compression level = 6
$img->saveToFile('image.png', 6);

Ładowanie obrazów przez PHP API

Interfejs API WideImage umożliwia programistom łatwe ładowanie wybranego obrazu do ich własnej aplikacji PHP. Biblioteka udostępnia kilka opcji ładowania obrazów, takich jak ładowanie obrazu z pliku, poprzez podanie adresu URL, z ciągu binarnego lub z prawidłowego zasobu obrazu GD. Musisz podać pełną ścieżkę pliku i nazwę obrazu. Opcja ciągu binarnego jest bardzo przydatna, gdy jest wymagana do załadowania obrazów z bazy danych.

Załaduj i edytuj obraz przez PHP

$font = '/resources/assets/NOVABOLD.otf';
  $image = WideImage::load('name');
  $canvas = $image->getCanvas();
  $canvas->useFont($font, 20, $image->allocateColor(255, 255, 255));          
  $canvas->writeText('center', 'top', 'I am ');
   

Zmiana rozmiaru i przycinanie obrazu

Darmowa biblioteka WideImage zapewnia funkcjonalność zmiany rozmiaru lub przycinania obrazów za pomocą poleceń PHP. Musisz podać nowe wymiary obrazu. Jeśli podano jeden wymiar, a drugiego nie określono (lub podano wartość null), biblioteka inteligentnie obliczyła go ze stosunku drugiego wymiaru. W przypadku operacji takich jak zmiana rozmiaru i kadrowanie, w których współrzędne są przekazywane jako parametry, bardzo przydatna jest opcja inteligentnych współrzędnych.

Załaduj i edytuj obraz przez PHP

include "path-to/WideImage.php";
//load Image
$image = WideImage::load("path-to/image.jpg");
//Resize Image 
$resized = $image->resize(400, 300);
//Save Image
$resized->saveToFile("small.jpg");
 Polski