Képfunkciók

Nette\Utils\Image osztály leegyszerűsíti a képmanipulációt, például a méretváltoztatást, a képkivágást, az élesítést, a rajzolást vagy több kép összevonását.

A PHP széleskörű függvénykészlettel rendelkezik a képek manipulálásához. De az API nem túl szép. Nem lenne egy Neat Framework, ha egy szexi API-val állna elő.

Telepítés:

composer require nette/utils

A következő példák feltételezik, hogy a következő osztály alias van definiálva:

use Nette\Utils\Image;

Kép létrehozása

Létrehozunk egy új színes képet, például 100×200-as méretben:

$image = Image::fromBlank(100, 200);

Opcionálisan megadhat egy háttérszínt (alapértelmezett a fekete):

$image = Image::fromBlank(100, 200, Image::rgb(125, 0, 0));

Vagy betöltjük a képet egy fájlból:

$image = Image::fromFile('nette.jpg');

A támogatott formátumok a JPEG, PNG, GIF, WebP, AVIF és BMP, de a PHP verziójának támogatnia kell ezeket (ellenőrizze a phpinfo(), GD szakaszban). Az animációk nem támogatottak.

Fel kell ismernie a képformátumot betöltéskor? A módszer a formátumot adja vissza a második paraméterben:

$image = Image::fromFile('nette.jpg', $type);
// $type az Image::JPEG, Image::PNG, Image::GIF, Image::WEBP, Image::AVIF vagy Image::BMP.

Csak a kép betöltése nélküli felismerést végzi a Image::detectTypeFromFile().

A kép mentése

A kép elmenthető egy fájlba:

$image->save('resampled.jpg');

A tömörítési minőséget a JPEG (alapértelmezett 85), WEBP (alapértelmezett 80) és AVIF (alapértelmezett 30) esetében 0..100, PNG (alapértelmezett 9) esetében pedig 0..9 tartományban adhatjuk meg:

$image->save('resampled.jpg', 80); // JPEG, minőség 80%

Ha a formátum nem egyértelmű a fájlkiterjesztésből, akkor a Image::JPEG, Image::PNG, Image::GIF, Image::WEBP, Image::AVIF és Image::BMP konstansok valamelyikével adható meg:

$image->save('resampled.tmp', null, Image::JPEG);

A képet lemez helyett egy változóba is ki lehet írni:

$data = $image->toString(Image::JPEG, 80); // JPEG, minőség 80%.

vagy közvetlenül a böngészőnek a megfelelő HTTP fejléccel Content-Type:

// fejlécet küld Content-Type: image/png
$image->send(Image::PNG);

Kép átméretezése

Gyakori művelet a kép átméretezése. Az aktuális méreteket a getWidth() és a getHeight() metódusok adják vissza.

Az átméretezéshez a resize() módszer használható. Ez egy példa az arányos méretváltoztatásra úgy, hogy az nem haladja meg az 500×300 pixelt (vagy a szélesség lesz pontosan 500px, vagy a magasság lesz pontosan 300px, az egyik dimenzió a képarány megtartása érdekében kerül kiszámításra):

$image->resize(500, 300);

Lehetőség van arra, hogy csak egy dimenziót állítson be, és a második dimenzió kiszámításra kerül:

$image->resize(500, null); // szélesség 500px, magasság auto

$image->resize(null, 300); // szélesség auto, magasság 300px

Bármelyik dimenzió megadható százalékban:

$image->resize('75%', 300); // 75 % × 300px

A resize viselkedését a következő jelzőkkel lehet befolyásolni. A Image::Stretch kivételével mindegyik megőrzi a képarányt.

Zászló Leírás
Image::OrSmaller (alapértelmezett) a kapott méretek kisebbek vagy egyenlőek lesznek a megadottakkal.
Image::OrBigger kitölti a célterületet, és esetleg egy irányba kiterjeszti azt.
Image::Cover kitölti az egész területet, és kivágja a túlnyúló részt.
Image::ShrinkOnly csak lefelé skálázódik (nem bővíti ki a kis képet)
Image::Stretch nem tartja meg a képarányt.

A zászlók a függvény harmadik argumentumaként kerülnek átadásra:

$image->resize(500, 300, Image::OrBigger);

A zászlók kombinálhatók:

$image->resize(500, 300, Image::ShrinkOnly | Image::Stretch);

A képek függőlegesen vagy vízszintesen megfordíthatók az egyik dimenzió (vagy mindkettő) negatív számként történő megadásával:

$flipped = $image->resize(null, '-100%'); // Függőlegesen átfordítva

$flipped = $image->resize('-100%', '-100%'); // 180°-kal elforgatni

$flipped = $image->resize(-125, 500); // átméretezés és átfordítás vízszintesen

A kép kicsinyítése után élesítéssel javíthatunk rajta:

$image->sharpen();

Vágás

A crop() módszer a termesztésre szolgál:

$image->crop($left, $top, $width, $height);

A resize() oldalhoz hasonlóan minden érték százalékban is megadható. A $left és a $top százalékos értékeit a fennmaradó helyből számítják ki, hasonlóan a background-position CSS-tulajdonsághoz:

$image->crop('100%', '50%', '80%', '80%');

A képet automatikusan is lehet vágni, pl. fekete élek vágása:

$image->cropAuto(IMG_CROP_BLACK);

A cropAuto() metódus a imagecropauto() függvény objektumkapszulázása, további információkért lásd a dokumentációját.

Rajzolás és szerkesztés

Rajzolhatsz, írhatsz, használhatod az összes PHP függvényt a képekkel való munkához, mint például az imagefilledellipse(), de objektum stílusban:

$image->filledEllipse($cx, $cy, $width, $height, Image::rgb(255, 0, 0, 63));

Lásd a módszerek áttekintését.

Több kép egyesítése

Könnyedén elhelyezhet egy másik képet a képbe:

$logo = Image::fromFile('logo.png');
$blank = Image::fromBlank(320, 240, Image::rgb(52, 132, 210));

// a koordináták százalékban is megadhatók
$blank->place($logo, '80%', '80%'); // közel a jobb alsó sarokhoz

Beillesztéskor az alfa-csatornát tiszteletben tartjuk, emellett befolyásolhatjuk a beillesztett kép átlátszóságát (ún. vízjelet hozunk létre):

$blank->place($image, '80%', '80%', 25); // az átlátszóság 25 %-os

Egy ilyen API-t tényleg öröm használni, nem igaz?

A módszerek áttekintése

static fromBlank(int $width, int $height, array $color=null)Image

Új, valós színű képet hoz létre a megadott méretekkel. Az alapértelmezett szín a fekete.

static fromFile(string $file, int &$detectedFormat=null)Image

Beolvas egy képet egy fájlból, és visszaadja a típusát a $detectedFormat címen. A támogatott típusok: Image::JPEG, Image::PNG, Image::GIF, Image::WEBP, Image::AVIF és Image::BMP.

static fromString(string $s, int &$detectedFormat=null)Image

Beolvas egy képet egy karakterláncból, és visszaadja a típusát a $detectedFormat címen. A támogatott típusok: Image::JPEG, Image::PNG, Image::GIF, Image::WEBP, Image::AVIF és Image::BMP.

static rgb(int $red, int $green, int $blue, int $transparency=0)array

Létrehoz egy színt, amely más módszerekben, például a ellipse(), fill(), stb. használható.

static typeToExtension(int $type)string

Visszaadja az adott Image::XXX konstans fájlkiterjesztését.

static typeToMimeType(int $type)string

Visszaadja a megadott Image::XXX konstans mime típusát.

static extensionToType(string $extension)int

Visszaadja a kép típusát a Image::XXX konstansként a fájlkiterjesztésnek megfelelően.

static detectTypeFromFile(string $file, int &$width=null, int &$height=null)?int

Visszaadja a képfájl típusát a Image::XXX konstansként, valamint a $width és $height paraméterekben a méreteit is.

static detectTypeFromString(string $s, int &$width=null, int &$height=null)?int

Visszaadja a kép típusát a stringből a Image::XXX konstansként, és a $width és $height paraméterekben a méreteit is.

affine(array $affine, array $clip=null)Image

Visszaad egy képet, amely az affin transzformált src képet tartalmazza, egy opcionális vágási terület használatával. (tovább).

affineMatrixConcat(array $m1, array $m2)array

Két affin transzformációs mátrix összekapcsolását adja vissza, ami akkor hasznos, ha több transzformációt kell alkalmazni ugyanarra a képre egy menetben. (tovább)

affineMatrixGet(int $type, mixed $options=null)array

Visszaad egy affin transzformációs mátrixot. (tovább)

alphaBlending(bool $on): void

Két különböző rajzolási módot tesz lehetővé a truecolor képeken. Keverési módban az összes rajzolási funkcióhoz, például a setPixel() oldalhoz megadott szín alfa-csatorna komponense határozza meg, hogy az alapszínből mennyi látszódjon át. Ennek eredményeképpen a program automatikusan összekeveri az adott ponton meglévő színt a rajz színével, és az eredményt a képen tárolja. Az eredményül kapott képpont átlátszatlan. Nem keverési módban a rajz színe szó szerint az alfacsatorna információival együtt másolódik, és a célpixel helyébe lép. A palettás képekre való rajzoláskor a blending mód nem érhető el. (tovább)

antialias(bool $on): void

Aktiválja a gyors rajzolás antializált módszereit a vonalak és a vezetékes sokszögek esetében. Nem támogatja az alfa komponenseket. Közvetlen keverési művelettel működik. Csak színhű képekkel működik.

Az antialiased primitívek átlátszó háttérszínnel történő használata nem várt eredményekkel járhat. A keverési módszer a háttérszínt ugyanúgy használja, mint bármely más színt. Az alfa komponens támogatás hiánya nem teszi lehetővé az alfa alapú antialiasing módszert. (tovább)

arc(int $x, int $y, int $w, int $h, int $start, int $end, int $color)void

A megadott koordináták középpontjában lévő körív rajzolása. (tovább)

char(int $font, int $x, int $y, string $char, int $color)void

A $char első karakterét a képen a $x,$y (a bal felső rész 0, 0) színnel rajzolja meg a $color színnel a első karakterét. (tovább)

charUp(int $font, int $x, int $y, string $char, int $color)void

A $char karaktert függőlegesen rajzolja a megadott koordinátán a megadott képen. (tovább)

colorAllocate(int $red, int $green, int $blue)int

Visszaad egy színazonosítót, amely a megadott RGB-komponensekből álló színt reprezentálja. Minden egyes, a képen használni kívánt szín létrehozásához meg kell hívni. (tovább)

colorAllocateAlpha(int $red, int $green, int $blue, int $alpha)int

Ugyanúgy viselkedik, mint a colorAllocate(), kiegészítve a $alpha átlátszósági paraméterrel. (tovább)

colorAt(int $x, int $y)int

Visszaadja a kép megadott helyén lévő pixel színének indexét. Ha a kép valódi színű kép, ez a függvény egész számként adja vissza az adott pixel RGB-értékét. A biteltolás és a maszkolás segítségével hozzáférhet a különböző piros, zöld és kék komponens értékekhez: (tovább)

colorClosest(int $red, int $green, int $blue)int

Visszaadja a kép palettáján annak a színnek az indexét, amelyik a legközelebb áll a megadott RGB-értékhez. A kívánt szín és a paletta egyes színei közötti “távolság” úgy kerül kiszámításra, mintha az RGB-értékek a háromdimenziós tér pontjai lennének. (tovább)

colorClosestAlpha(int $red, int $green, int $blue, int $alpha)int

Visszaadja a kép palettáján annak a színnek az indexét, amelyik a legközelebb áll a megadott RGB-értékhez és a $alpha szinthez. (tovább)

colorClosestHWB(int $red, int $green, int $blue)int

Annak a színnek az indexét kapja meg, amelynek árnyalata, fehérsége és feketesége a legközelebb áll az adott színhez. (tovább)

colorDeallocate(int $color)void

Feloldja a korábban a colorAllocate() vagy a colorAllocateAlpha() segítségével kiosztott színt. (tovább)

colorExact(int $red, int $green, int $blue)int

Visszaadja a megadott szín indexét a kép palettáján. (tovább)

colorExactAlpha(int $red, int $green, int $blue, int $alpha)int

Visszaadja a megadott szín+alfa indexét a kép palettáján. (tovább)

colorMatch(Image $image2)void

A kép palettás változatának színei jobban megfelelnek a valódi színváltozatnak. (tovább)

colorResolve(int $red, int $green, int $blue)int

Visszaadja a kért szín szín indexét, vagy a pontos színt, vagy a legközelebbi lehetséges alternatívát. (tovább)

colorResolveAlpha(int $red, int $green, int $blue, int $alpha)int

Visszaadja a kért szín szín indexét, vagy a pontos színt, vagy a legközelebbi lehetséges alternatívát. (tovább)

colorSet(int $index, int $red, int $green, int $blue)void

Ez a palettán a megadott indexet a megadott színre állítja. (tovább)

colorsForIndex(int $index)array

Megkapja a színt egy megadott indexhez. (tovább)

colorsTotal(): int

Visszaadja a színek számát egy képpalettán (more).

colorTransparent(int $color=null)int

A kép átlátszó színének lekérdezése vagy beállítása. (tovább)

convolution(array $matrix, float $div, float $offset)void

Egy konvolúciós mátrixot alkalmaz a képre a megadott együttható és eltolás segítségével. (tovább)

Igényli a Bundled GD kiterjesztést, így nem biztos, hogy mindenhol működik.

copy(Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $srcW, int $srcH)void

A $src egy részét a $srcX, $srcY koordinátáknál kezdődő képre másolja a $srcW szélességű és $srcH magasságú képre. A meghatározott rész a koordinátákra, a $dstX és a $dstY koordinátákra lesz másolva. (tovább)

copyMerge(Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $srcW, int $srcH, int $opacity)void

A $src egy részét a $srcX, $srcY koordinátáknál kezdődő képre másolja a $srcW szélességű és $srcH magasságú képre. A meghatározott rész a koordinátákra, a $dstX és a $dstY koordinátákra lesz másolva. (tovább)

copyMergeGray(Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $srcW, int $srcH, int $opacity)void

A $src egy részét a $srcX, $srcY koordinátáknál kezdődő képre másolja a $srcW szélességű és $srcH magasságú képre. A meghatározott rész a koordinátákra, a $dstX és a $dstY koordinátákra lesz másolva.

Ez a funkció megegyezik a copyMerge() funkcióval, azzal a különbséggel, hogy az összevonás során megőrzi a forrás színárnyalatát azáltal, hogy a célpixeleket a másolási művelet előtt szürkeárnyalatúvá alakítja. (tovább)

copyResampled(Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $dstW, int $dstH, int $srcW, int $srcH)void

Egy kép téglalap alakú részét átmásolja egy másik képre, simán interpolálva a pixelértékeket, így különösen a kép méretének csökkentése esetén továbbra is nagyfokú tisztaságot biztosít.

Más szóval, a copyResampled() a $src egy téglalap alakú területet vesz a $srcW szélességű és a $srcH magasságú -ből a ($srcX,$srcY) pozícióban, és elhelyezi a kép egy téglalap alakú, $dstW szélességű és a $dstH magasságú$dstX,$dstY) pozícióban lévő téglalap alakú területébe.

Ha a forrás- és a célkoordináták, valamint a szélesség és a magasság eltér, a képfragmentum megfelelő nyújtása vagy zsugorítása történik. A koordináták a bal felső sarokra vonatkoznak. Ez a funkció használható ugyanazon a képen belüli régiók másolására, de ha a régiók átfedik egymást, az eredmény kiszámíthatatlan lesz. (tovább)

copyResized(Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $dstW, int $dstH, int $srcW, int $srcH)void

Egy kép téglalap alakú részét másolja át egy másik képre. Más szóval, a copyResized() a $src egy téglalap alakú területet vesz a $srcW szélességű és a $srcH magasságú -ből a ($srcX,$srcY) pozícióban, és elhelyezi a kép egy téglalap alakú, $dstW szélességű és a $dstH magasságú$dstX,$dstY) pozícióban lévő téglalap alakú területébe.

Ha a forrás- és a célkoordináták, valamint a szélesség és a magasság eltér, a képfragmentum megfelelő nyújtása vagy zsugorítása történik. A koordináták a bal felső sarokra vonatkoznak. Ez a funkció használható ugyanazon a képen belüli régiók másolására, de ha a régiók átfedik egymást, az eredmény kiszámíthatatlan lesz. (tovább)

crop(int|string $left, int|string $top, int|string $width, int|string $height)Image

A képet a megadott téglalap alakú területre vágja. A méretek átadhatók egész számokként pixelben vagy karakterláncokként százalékban (pl. '50%').

cropAuto(int $mode=-1, float $threshold=.5, int $color=-1)Image

Automatikusan levágja a képet a megadott $mode címnek megfelelően. (tovább)

ellipse(int $cx, int $cy, int $w, int $h, int $color)void

Egy ellipszist rajzol a megadott koordináták középpontjába. (tovább)

fill(int $x, int $y, int $color)void

A megadott koordinátánál (balra fent 0, 0) kezdődő áradásos kitöltést hajt végre a megadott $color címen a képen. (tovább)

filledArc(int $cx, int $cy, int $w, int $h, int $s, int $e, int $color, int $style)void

Egy részleges ívet rajzol, amelynek középpontja a kép megadott koordinátája. (tovább)

filledEllipse(int $cx, int $cy, int $w, int $h, int $color)void

Egy ellipszist rajzol, amelynek középpontja a kép megadott koordinátája. (tovább)

filledPolygon(array $points, int $numPoints, int $color)void

Egy kitöltött sokszöget hoz létre a $image-ben. (tovább)

filledRectangle(int $x1, int $y1, int $x2, int $y2, int $color)void

Egy téglalapot hoz létre a képen a $color címmel, amely az 1. pontban kezdődik és a 2. pontban végződik. 0, 0 a kép bal felső sarka. (tovább)

fillToBorder(int $x, int $y, int $border, int $color)void

Olyan áradásos kitöltést végez, amelynek határszínét a $border határozza meg. A kitöltés kezdőpontja a $x, $y (balra fent 0, 0), és a régiót a $color színnel töltjük ki. (tovább)

filter(int $filtertype, int …$args)void

A megadott $filtertype szűrőt alkalmazza a képre. (tovább)

flip(int $mode): void

Megfordítja a képet a megadott $mode segítségével. (tovább)

ftText(int $size, int $angle, int $x, int $y, int $col, string $fontFile, string $text, array $extrainfo=null)array

Írjon szöveget a képre a FreeType 2 betűtípusok segítségével. (tovább)

gammaCorrect(float $inputgamma, float $outputgamma)void

Gammakorrekciót alkalmaz a képre egy bemeneti és egy kimeneti gamma megadásával. (tovább)

getClip(): array

Az aktuális vágási téglalap, azaz az a terület, amelyen túl nem rajzolunk pixeleket. (tovább)

getHeight(): int

Visszaadja a kép magasságát.

getImageResource(): resource|GdImage

Visszaadja az eredeti erőforrást.

getWidth(): int

Visszaadja a kép szélességét.

interlace(int $interlace=null)int

Be- vagy kikapcsolja az interlace bitet. Ha az interlace bit be van állítva, és a képet JPEG-ként használják, a kép progresszív JPEG-ként jön létre. (tovább)

isTrueColor(): bool

Megállapítja, hogy a kép színhű-e. (tovább)

layerEffect(int $effect)void

Állítsa be az alpha blending flaget a réteghatások használatához. (tovább)

line(int $x1, int $y1, int $x2, int $y2, int $color)void

Vonalat húz a két megadott pont közé. (tovább)

openPolygon(array $points, int $numPoints, int $color)void

Egy nyitott sokszöget rajzol a képre. A polygon() címmel ellentétben az utolsó és az első pont között nem húzódik vonal. (tovább)

paletteCopy(Image $source)void

A palettát a $source oldalról átmásolja a képre. (tovább)

paletteToTrueColor(): void

Az olyan funkciókkal létrehozott paletta alapú képet, mint a create(), valódi színű képpé alakítja, mint a createtruecolor(). (tovább)

place(Image $image, int|string $left=0, int|string $top=0, int $opacity=100)Image

Másolja a $image címet a képre a $left és a $top koordinátáknál. A koordináták átadhatók egész számokként pixelben vagy karakterláncokként százalékban (pl. '50%').

polygon(array $points, int $numPoints, int $color)void

Egy sokszöget hoz létre a képen. (tovább)

rectangle(int $x1, int $y1, int $x2, int $y2, int $col)void

A megadott koordinátáknál kezdődő téglalapot hoz létre. (tovább)

resize(int|string $width, int|string $height, int $flags=Image::OrSmaller)Image

Méretezi a képet, további információk. A méretek átadhatók egész számokként pixelben vagy karakterláncokként százalékban (pl. '50%').

resolution(int $resX=null, int $resY=null)mixed

Lehetővé teszi a kép felbontásának beállítását és lekérdezését DPI-ben (dots per inch). Ha az opcionális paraméterek egyike sincs megadva, az aktuális felbontás indexelt tömbként kerül visszaadásra. Ha csak a $resX értéket adja meg, a vízszintes és függőleges felbontás erre az értékre kerül beállításra. Ha mindkét opcionális paramétert megadjuk, a vízszintes és függőleges felbontás ezekre az értékekre kerül beállításra.

A felbontást csak akkor használjuk meta információként, amikor a képeket az ilyen információt támogató formátumokból olvassuk be és írjuk ki (jelenleg PNG és JPEG). Ez nem befolyásolja a rajzolási műveleteket. Az új képek alapértelmezett felbontása 96 DPI. (tovább)

rotate(float $angle, int $backgroundColor)Image

Elforgatja a képet a megadott $angle értékkel fokban. Az elforgatás középpontja a kép középpontja, és az elforgatott kép mérete eltérhet az eredeti képtől. (tovább)

Igényli a Bundled GD kiterjesztést, így nem biztos, hogy mindenhol működik.

save(string $file, int $quality=null, int $type=null)void

Kép mentése egy fájlba.

A tömörítési minőség a JPEG (alapértelmezett 85), WEBP (alapértelmezett 80) és AVIF (alapértelmezett 30) esetében 0..100, PNG (alapértelmezett 9) esetében pedig 0..9 tartományban van. Ha a típus nem egyértelmű a fájlkiterjesztésből, akkor a Image::JPEG, Image::PNG, Image::GIF, Image::WEBP, Image::AVIF és Image::BMP konstansok valamelyikével adhatja meg.

saveAlpha(bool $saveflag)void

Beállítja azt a jelzőt, amely meghatározza, hogy a PNG-képek mentésekor megmaradjon-e a teljes alfa-csatorna információ (szemben az egyszínű átlátszósággal).

Az alfacsatorna megtartásához az alfacsatornát ki kell kapcsolni (alphaBlending(false)). (tovább)

scale(int $newWidth, int $newHeight=-1, int $mode=IMG_BILINEAR_FIXED)Image

A megadott interpolációs algoritmus segítségével méretezi a képet. (tovább)

send(int $type=Image::JPEG, int $quality=null)void

Kimeneti egy képet a böngészőbe.

A tömörítési minőség a JPEG (alapértelmezett 85), WEBP (alapértelmezett 80) és AVIF (alapértelmezett 30) esetében 0..100, PNG (alapértelmezett 9) esetében 0..9 tartományban van. A típus a Image::JPEG, Image::PNG, Image::GIF, Image::WEBP, Image::AVIF és Image::BMP konstansok egyike.

setBrush(Image $brush)void

Beállítja az ecsetképet, amelyet az összes vonalrajzoló funkció (például a line() és a polygon()) használ, amikor az IMG_COLOR_BRUSHED vagy IMG_COLOR_STYLEDBRUSHED speciális színekkel rajzol. (tovább)

setClip(int $x1, int $y1, int $x2, int $y2)void

Beállítja az aktuális vágási téglalapot, azaz azt a területet, amelyen túl nem rajzolunk pixeleket. (tovább)

setInterpolation(int $method=IMG_BILINEAR_FIXED)void

Beállítja az interpolációs módszert, amely hatással van a rotate() és a affine() módszerekre. (tovább)

setPixel(int $x, int $y, int $color)void

Egy pixelt rajzol a megadott koordinátára. (tovább)

setStyle(array $style)void

Beállítja az IMG_COLOR_STYLED speciális színnel vagy IMG_COLOR_STYLEDBRUSHED színű képek vonalainak rajzolásakor az összes vonalrajzoló funkció (például line() és polygon()) által használt stílust. (tovább)

setThickness(int $thickness)void

A téglalapok, sokszögek, ívek stb. rajzolásakor rajzolt vonalak vastagságát a $thickness pixelre állítja be. (tovább)

setTile(Image $tile)void

Beállítja a csempeképet, amelyet az összes régiókitöltő funkció (például a fill() és a filledPolygon()) az IMG_COLOR_TILED speciális színnel való kitöltéskor használ.

A csempe egy olyan kép, amelyet egy terület ismétlődő mintával való kitöltésére használnak. Bármilyen kép használható csempeként, és a csempekép átlátszó színindexének a colorTransparent() segítségével történő beállításával olyan csempe hozható létre, amely lehetővé teszi az alapterület bizonyos részeinek átvilágítását. (tovább)

sharpen(): Image

Egy kicsit élesíti a képet.

Igényli a Bundled GD kiterjesztést, így nem biztos, hogy mindenhol működik.

string(int $font, int $x, int $y, string $str, int $col)void

Egy karakterláncot rajzol a megadott koordinátákhoz. (tovább)

stringUp(int $font, int $x, int $y, string $s, int $col)void

Egy sztringet rajzol függőlegesen a megadott koordinátákhoz. (tovább)

toString(int $type=Image::JPEG, int $quality=null)string

Kimeneti képet ad ki stringként.

A tömörítési minőség a JPEG (alapértelmezett 85), WEBP (alapértelmezett 80) és AVIF (alapértelmezett 30) esetében 0..100, PNG (alapértelmezett 9) esetében 0..9 tartományban van. A típus a Image::JPEG, Image::PNG, Image::GIF, Image::WEBP, Image::AVIF és Image::BMP konstansok egyike.

trueColorToPalette(bool $dither, int $ncolors)void

Egy valódi színű képet palettaképpé alakít át. (tovább)

ttfText(int $size, int $angle, int $x, int $y, int $color, string $fontfile, string $text)array

A megadott szöveget TrueType betűtípusok használatával írja a képbe. (tovább)

verzió: 4.0