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;
use Nette\Utils\ImageColor;
use Nette\Utils\ImageType;

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, ImageColor::rgb(125, 0, 0));

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

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

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 konstanssal is megadható:

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

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

$data = $image->toString(ImageType::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(ImageType::PNG);

Formátumok

Támogatott formátumok: JPEG, PNG, GIF, WebP, AVIF és BMP. Ezeket azonban a PHP verziójának is támogatnia kell, amit az isTypeSupported() függvény segítségével ellenőrizhet. Az animációk nem támogatottak.

A formátumokat a ImageType::JPEG, ImageType::PNG, ImageType::GIF, ImageType::WEBP, ImageType::AVIF és ImageType::BMP konstansok jelölik.

$supported = Image::isTypeSupported(ImageType::JPEG);

Fel kell ismernie egy kép formátumát betöltéskor? A módszer ezt a második paraméterben adja vissza:

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

A tényleges felismerést a kép betöltése nélkül a Image::detectTypeFromFile() végzi.

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.

Színek

A ImageColor::rgb() módszer lehetővé teszi a színek meghatározását a vörös, zöld és kék (RGB) értékek segítségével. Opcionálisan egy átlátszósági értéket is megadhat 0 (teljesen átlátszó) és 1 (teljesen átlátszatlan) között, akárcsak a CSS-ben.

$color = ImageColor::rgb(255, 0, 0); // Red
$transparentBlue = ImageColor::rgb(0, 0, 255, 0.5); // Semi-transparent blue

A ImageColor::hex() módszerrel a CSS-hez hasonlóan hexadecimális formátumban adhat meg egy színt. Támogatja a #rgb, #rrggbb, #rgba és #rrggbbaa formátumokat:

$color = ImageColor::hex("#F00"); // Red
$transparentGreen = ImageColor::hex("#00FF0080"); // Semi-transparent green

A színeket más módszerekben is lehet használni, mint például a ellipse(), fill(), stb.

Rajzolás és szerkesztés

Rajzolhatsz, írhatsz, használhatod az összes PHP függvényt a képmanipulációhoz, lásd: A módszerek áttekintése, de egy objektumorientált burkolatban:

$image->filledEllipse($centerX, $centerY, $width, $height, ImageColor::rgb(255, 0, 0));

Mivel a téglalapok rajzolására szolgáló PHP függvények a koordináták megadása miatt nem praktikusak, a Image osztály a rectangleWH() és a filledRectangleWH() függvények formájában helyettesíti őket.

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, ImageColor::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, ImageColor $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.

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.

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

Ezt a funkciót a ImageColor osztály váltotta fel, lásd a színeket.

static typeToExtension(int $type)string

Visszaadja az adott típushoz tartozó fájlkiterjesztést.

static typeToMimeType(int $type)string

Visszaadja az adott típus mime típusát.

static extensionToType(string $extension)int

Visszaadja a kép típusát 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 és 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 és a $width és $height paraméterekben a méreteit is.

static isTypeSupported(int $type)bool

Megállapítja, hogy az adott képtípus támogatott-e.

static getSupportedTypes(): array

Visszaadja a támogatott képtípusok tömbjét (konstansok ImageType::XXX).

static calculateTextBox(string $text, string $fontFile, float $size, float $angle=0, array $options=[])array

Kiszámítja a megadott betűtípusú és méretű szöveget körülvevő téglalap méreteit. Egy asszociatív tömböt ad vissza, amely a left, top, width, height kulcsokat tartalmazza. A bal oldali margó negatív lehet, ha a szöveg bal oldali túlnyúlással kezdődik.

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 $centerX, int $centerY, int $width, int $height, int $startAngle, int $endAngle, ImageColor $color)void

A megadott koordináták középpontjában lévő körív rajzolása. (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, ?ImageColor $color=null)Image

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

ellipse(int $centerX, int $centerY, int $width, int $height, ImageColor $color)void

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

fill(int $x, int $y, ImageColor $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 $centerX, int $centerY, int $width, int $height, int $startAngle, int $endAngle, ImageColor $color, int $style)void

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

filledEllipse(int $centerX, int $centerY, int $width, int $height, ImageColor $color)void

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

filledPolygon(array $points, ImageColor $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, ImageColor $color)void

Egy téglalapot hoz létre a képen a $color címmel, amely a $x1 és a $y1 címen kezdődik és a $x2 és a $y2 címen végződik. 0, 0 pont a kép bal felső sarka. (tovább)

filledRectangleWH(int $left, int $top, int $width, int $height, ImageColor $color)void

Létrehoz egy téglalapot, amely a $color képen a $left és a $top pontból kiindulva $width szélességű és $height magasságú téglalapot hoz létre. A 0,0 pont a kép bal felső sarka.

fillToBorder(int $x, int $y, int $border, ImageColor $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(float $size, float $angle, int $x, int $y, ImageColor $color, string $fontFile, string $text, array $options=[])array

Írja a képen látható szöveget. (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, ImageColor $color)void

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

openPolygon(array $points, ImageColor $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, ImageColor $color)void

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

rectangle(int $x1, int $y1, int $x2, int $y2, ImageColor $color)void

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

rectangleWH(int $left, int $top, int $width, int $height, ImageColor $color)void

Egy téglalapot hoz létre a megadott koordinátákon.

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 0..9 tartományban van. Ha a típus nem egyértelmű a fájlkiterjesztésből, akkor a ImageType konstansok egyiké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=ImageType::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.

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, ImageColor $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.

toString(int $type=ImageType::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.

trueColorToPalette(bool $dither, int $ncolors)void

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

ttfText(float $size, float $angle, int $x, int $y, ImageColor $color, string $fontFile, string $text, array $options=[])array

A megadott szöveget írja a képbe. (tovább)

verzió: 4.0