Nyílt forráskódú PHP API a képek manipulálásához
PHP-könyvtár, amely lehetővé teszi a szoftverprogramozók számára a GIF, PNG, JPEG képek egyszerű betöltését, átméretezését és konvertálását.
A WideImage egy nyílt forráskódú objektum-orientált könyvtár, amely lehetővé teszi a szoftverfejlesztők számára, hogy saját PHP-alkalmazásaikon belül módosítsák a képeket. A könyvtár egyszerű módot biztosít a képek betöltésére, manipulálására és mentésére a leggyakoribb képformátumokban. A könyvtár olyan funkciókat támogat, mint a képek átméretezése, vágás, összevonás, szöveg írása árnyékkal, konvertálás más formátumokba, képklónozás, vízjel alkalmazása a képen és még sok más.
A könyvtár jelenleg támogatja a leggyakoribb képfájlformátumok némelyikét, amelyeket natívan támogat a GD kiterjesztése a szerveren, mint például a GIF, PNG, JPG, GD, GD2, WBMP, XBM és XPM. Támogatja a BMP-t (írás/írás) és a TGA-t (csak olvasható). A könyvtár támogatja a formátumok közötti átalakítást. A fejlesztők egyszerűen betölthetnek egy képet az általuk választott formátumban, majd elmenthetik bármely más támogatott képfájl formátumban.
A könyvtár a GD kiterjesztést használja a legtöbb támogatott művelet végrehajtásához a képeken. A GD kiterjesztés nem támogat bizonyos funkciókat, és kevesen teljesítenek lassan, mivel tiszta PHP-ben vannak kódolva. A WideImage csapata keményen dolgozott a könyvtárkód optimalizálásán, és a teljesítmény javítása érdekében frissítette a GD-funkciókat.
A WideImage használatának első lépései
PHP 5.2+ szükséges hozzá GD2 kiterjesztéssel. Könnyedén telepítheti a WideImage könyvtárat a PEAR segítségével. Kérjük, használja a következő parancsot.
Telepítse a WideImage programot PEAR-en keresztül
pear channel-discover pear.kozak.si
pear install kozak.si/WideImage
Képek mentése más formátumba PHP-n keresztül
A nyílt forráskódú WideImage könyvtár támogatja a képek fájlba, közvetlenül a böngészőbe mentését, vagy lekérheti a képadatokat karakterláncként a saját alkalmazásaiban. Fájlba mentéshez paraméterként meg kell adnia a fájl nevét és elérési útját. JPEG vagy PNG formátumban történő mentés közben beállíthatja a kép minőségét JPEG esetén, illetve a tömörítési szintet PNG esetén. A karakterláncként történő visszakeresés során könnyedén rögzítheti a képadatokat, és mentheti őket adatbázisba vagy fájlba. A képet közvetlenül a böngészőbe is mentheti. Meg kell adnia a képtípus paramétert, és a rendszer a javasolt formátumban menti.
Kép mentése fájlba PHP API-n keresztül
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);
Képek betöltése PHP API-n keresztül
A WideImage API lehetővé teszi a szoftverprogramozók számára, hogy egy általuk választott képet könnyedén betöltsenek saját PHP-alkalmazásukba. A könyvtár számos lehetőséget kínál a képek betöltésére, például egy kép betöltését fájlból, URL megadásával, bináris karakterláncból vagy érvényes GD képforrásból. Meg kell adnia egy teljes fájl elérési utat és kép nevét. A bináris karakterlánc opció nagyon hasznos, ha szükséges képeket tölteni egy adatbázisból.
Kép betöltése és szerkesztése PHP-n keresztül
$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 ');
Kép átméretezése és kivágása
Az ingyenes WideImage könyvtár lehetőséget biztosít a képek PHP-parancsok használatával történő átméretezésére vagy levágására. Meg kell adnia a kép új méreteit. Ha az egyik dimenzió megadva van, a másik pedig nincs megadva (vagy nulla van megadva), a könyvtár okosan kiszámította a másik dimenzió arányából. Az olyan műveleteknél, mint az átméretezés és a vágás, ahol a koordinátákat paraméterként adják át, az intelligens koordináták opció nagyon hasznos.
Kép betöltése és szerkesztése PHP-n keresztül
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");