Slikovne funkcije
Razred Nette\Utils\Image poenostavlja manipulacijo slik, kot so spreminjanje velikosti, obrezovanje, ostrenje, risanje ali združevanje več slik.
PHP ima obsežen nabor funkcij za obdelavo slik. Vendar pa vmesnik API ni preveč prijeten. Ne bi bil Neat Framework, če bi pripravil seksi API.
Namestitev:
composer require nette/utils
Naslednji primeri predpostavljajo, da je definiran naslednji vzdevek razreda:
use Nette\Utils\Image;
use Nette\Utils\ImageColor;
use Nette\Utils\ImageType;
Ustvarjanje slike
Ustvarili bomo novo pravo barvno sliko, na primer z dimenzijami 100 × 200:
$image = Image::fromBlank(100, 200);
Po želji lahko določite barvo ozadja (privzeto je črna):
$image = Image::fromBlank(100, 200, ImageColor::rgb(125, 0, 0));
Sliko lahko naložimo iz datoteke:
$image = Image::fromFile('nette.jpg');
Shranjevanje slike
Sliko lahko shranite v datoteko:
$image->save('resampled.jpg');
Določimo lahko kakovost stiskanja v območju 0..100 za JPEG (privzeto 85), WEBP (privzeto 80) in AVIF (privzeto 30) ter 0..9 za PNG (privzeto 9):
$image->save('resampled.jpg', 80); // JPEG, kakovost 80%
Če format ni razviden iz končnice datoteke, ga lahko določite s konstanto:
$image->save('resampled.tmp', null, ImageType::JPEG);
Sliko lahko namesto na disk zapišete v spremenljivko:
$data = $image->toString(ImageType::JPEG, 80); // JPEG, kakovost 80%
ali pošljete neposredno brskalniku z ustreznim glavo HTTP Content-Type
:
// pošilja glavo Content-Type: image/png
$image->send(ImageType::PNG);
Formati
Podprti formati so JPEG, PNG, GIF, WebP, AVIF in BMP. Vendar jih mora podpirati tudi vaša različica PHP, kar lahko preverite s funkcijo isTypeSupported(). Animacije niso podprte.
Formati so predstavljeni s konstantami ImageType::JPEG
, ImageType::PNG
, ImageType::GIF
,
ImageType::WEBP
, ImageType::AVIF
in ImageType::BMP
.
$supported = Image::isTypeSupported(ImageType::JPEG);
Potrebujete zaznati format slike ob nalaganju? Metoda ga vrne v drugem parametru:
$image = Image::fromFile('nette.jpg', $type);
Dejansko zaznavanje brez nalaganja slike izvede Image::detectTypeFromFile()
.
Spreminjanje velikosti slike
Pogosta operacija je spreminjanje velikosti slike. Trenutne dimenzije se vrnejo z metodama getWidth()
in
getHeight()
.
Za spreminjanje velikosti se uporablja metoda resize()
. To je primer sorazmerne spremembe velikosti, tako da ne
presega 500 × 300 pikslov (širina bo točno 500 pikslov ali višina bo točno 300 pikslov, ena od dimenzij se izračuna za
ohranitev razmerja stranic):
$image->resize(500, 300);
Nastavite lahko samo eno dimenzijo, druga pa bo izračunana:
$image->resize(500, null); // širina 500px, višina auto
$image->resize(null, 300); // širina auto, višina 300px
Vsako dimenzijo lahko določite v odstotkih:
$image->resize('75%', 300); // 75% × 300px
Na obnašanje spletne strani resize
lahko vplivate z naslednjimi zastavicami. Vsi razen
Image::Stretch
ohranijo razmerje stranic.
Zastava | Opis |
---|---|
Image::OrSmaller (privzeto) |
dobljene dimenzije bodo manjše ali enake, kot je določeno |
Image::OrBigger |
zapolni ciljno območje in ga po možnosti razširi v eno smer |
Image::Cover |
zapolni celotno območje in obreže, kar ga presega |
Image::ShrinkOnly |
samo zmanjša velikost (ne razširi majhne slike) |
Image::Stretch |
ne ohrani razmerja stranic |
Zastave se posredujejo kot tretji argument funkcije:
$image->resize(500, 300, Image::OrBigger);
Zastave je mogoče kombinirati:
$image->resize(500, 300, Image::ShrinkOnly | Image::Stretch);
Slike lahko obrnete navpično ali vodoravno tako, da eno od dimenzij (ali obe) določite kot negativno število:
$flipped = $image->resize(null, '-100%'); // flip vertikalno
$flipped = $image->resize('-100%', '-100%'); // obračanje za 180°
$flipped = $image->resize(-125, 500); // spreminjanje velikosti in obračanje v vodoravni smeri
Ko sliko zmanjšamo, jo lahko izboljšamo z ostrenjem:
$image->sharpen();
Obrezovanje
Metoda crop()
se uporablja za pridelavo:
$image->crop($left, $top, $width, $height);
Tako kot pri resize()
lahko vse vrednosti navedete v odstotkih. Odstotki za $left
in
$top
so izračunani iz preostalega prostora, podobno kot pri lastnosti CSS background-position
:
$image->crop('100%', '50%', '80%', '80%');
Sliko lahko tudi samodejno obrežete, npr. obrežete črne robove:
$image->cropAuto(IMG_CROP_BLACK);
Metoda cropAuto()
je objektna enkapsulacija funkcije imagecropauto()
, za več informacij si oglejte
njeno dokumentacijo.
Barve
Z metodo ImageColor::rgb()
lahko barvo določite z uporabo rdeče, zelene in modre (RGB) vrednosti. Po želji
lahko določite tudi vrednost prosojnosti od 0 (popolnoma prosojno) do 1 (popolnoma neprosojno), tako kot v CSS.
$color = ImageColor::rgb(255, 0, 0); // Red
$transparentBlue = ImageColor::rgb(0, 0, 255, 0.5); // Semi-transparent blue
Metoda ImageColor::hex()
vam omogoča, da barvo določite z uporabo šestnajstiške oblike, podobno kot v CSS.
Podpira oblike #rgb
, #rrggbb
, #rgba
in #rrggbbaa
:
$color = ImageColor::hex("#F00"); // Red
$transparentGreen = ImageColor::hex("#00FF0080"); // Semi-transparent green
Barve lahko uporabite tudi v drugih metodah, kot so ellipse()
, fill()
itd.
Risanje in urejanje
Lahko rišete, pišete, uporabljate vse funkcije PHP za manipulacijo s slikami, glejte Pregled metod, vendar v objektno usmerjenem ovoju:
$image->filledEllipse($centerX, $centerY, $width, $height, ImageColor::rgb(255, 0, 0));
Ker so funkcije PHP za risanje pravokotnikov zaradi določanja koordinat nepraktične, razred Image
ponuja njihove
nadomestke v obliki funkcij rectangleWH() in filledRectangleWH().
Združitev več slik
V sliko lahko preprosto vstavite drugo sliko:
$logo = Image::fromFile('logo.png');
$blank = Image::fromBlank(320, 240, ImageColor::rgb(52, 132, 210));
// koordinate lahko nastavite tudi v odstotkih.
$blank->place($logo, '80%', '80%'); // v desnem spodnjem kotu
Pri lepljenju se upošteva kanal alfa, poleg tega lahko vplivamo na prosojnost vstavljene slike (ustvarili bomo tako imenovani vodni znak):
$blank->place($image, '80%', '80%', 25); // preglednost je 25 %.
Tak API je res užitek uporabljati, kajne?
Pregled metod
static fromBlank(int $width, int $height, ?ImageColor $color=null): Image
Ustvari novo pravo barvno sliko danih dimenzij. Privzeta barva je črna.
static fromFile(string $file, int &$detectedFormat=null): Image
Prebere sliko iz datoteke in vrne njeno vrsto v $detectedFormat
.
static fromString(string $s, int &$detectedFormat=null): Image
Preberi sliko iz niza in vrne njeno vrsto v $detectedFormat
.
static rgb(int $red, int $green, int $blue, int $transparency=0): array
To funkcijo je nadomestil razred ImageColor
, glejte barve.
static typeToExtension(int $type): string
Vrne končnico datoteke za dano vrsto.
static typeToMimeType(int $type): string
Vrne tip mime za dani tip.
static extensionToType(string $extension): int
Vrne vrsto slike glede na razširitev datoteke.
static detectTypeFromFile(string $file, int &$width=null, int &$height=null): ?int
Vrne vrsto slikovne datoteke in v parametrih $width
in $height
tudi njene
dimenzije.
static detectTypeFromString(string $s, int &$width=null, int &$height=null): ?int
Vrne vrsto slike iz niza in v parametrih $width
in $height
tudi njene
dimenzije.
static isTypeSupported(int $type): bool
Ugotovi, ali je dana vrsta slike podprta.
static getSupportedTypes(): array
Vrne polje podprtih tipov slik (konstante ImageType::XXX
).
static calculateTextBox(string $text, string $fontFile, float $size, float $angle=0, array $options=[]): array
Izračuna dimenzije pravokotnika, ki obkroža besedilo v določeni pisavi in velikosti. Vrne asociativno polje, ki vsebuje
ključe left
, top
, width
, height
. Levi rob je lahko negativen, če se besedilo
začne z levim previsom.
affine(array $affine, ?array $clip=null): Image
Vrne sliko, ki vsebuje afino transformirano sliko src z uporabo neobveznega območja obrezovanja. (več).
affineMatrixConcat(array $m1, array $m2): array
Vrne združitev dveh matrik afine transformacije, kar je uporabno, če je treba na isto sliko uporabiti več transformacij naenkrat. (več)
affineMatrixGet(int $type, ?mixed $options=null): array
Vrne matriko afine transformacije. (več)
alphaBlending(bool $on): void
Omogoča dva različna načina risanja na slike v pravih barvah. V načinu mešanja komponenta kanala alfa barve, ki se
posreduje vsem funkcijam risanja, kot je setPixel()
, določa, koliko osnovne barve naj se preliva skozi. Zato
samodejno zmeša obstoječo barvo na tej točki z barvo risbe in rezultat shrani v sliko. Nastali piksel je neprosojen.
V načinu brez mešanja se barva risbe dobesedno kopira z informacijami kanala alfa in nadomesti ciljno piko. Način mešanja ni
na voljo pri risanju na slike iz palete. (več)
antialias(bool $on): void
Aktivirajte metode hitrega risanja z izravnavo za črte in žične poligone. Ne podpira sestavin alfa. Deluje z neposrednim mešanjem. Deluje samo s slikami v pravih barvah.
Uporaba izravnanih primitivov s prozorno barvo ozadja lahko privede do nepričakovanih rezultatov. Metoda mešanja uporablja barvo ozadja kot vse druge barve. Pomanjkanje podpore za komponento alfa ne omogoča metode za izravnavo na podlagi alfa. (več)
arc(int $centerX, int $centerY, int $width, int $height, int $startAngle, int $endAngle, ImageColor $color): void
Nariše lok kroga s središčem na danih koordinatah. (več)
colorAllocate(int $red, int $green, int $blue): int
Vrne identifikator barve, ki predstavlja barvo, sestavljeno iz danih komponent RGB. Klicati ga je treba za ustvarjanje vsake barve, ki bo uporabljena v sliki. (več)
colorAllocateAlpha(int $red, int $green, int $blue, int $alpha): int
Obnaša se enako kot colorAllocate()
z dodatkom parametra preglednosti $alpha
. (več)
colorAt(int $x, int $y): int
Vrne indeks barve piksla na določenem mestu v sliki. Če je slika pravi barvni prikaz, ta funkcija vrne vrednost RGB te pike kot celo število. Za dostop do različnih vrednosti rdeče, zelene in modre komponente uporabite premikanje bitov in maskiranje: (več)
colorClosest(int $red, int $green, int $blue): int
Vrne indeks barve v paleti slike, ki je „najbližja“ določeni vrednosti RGB. „Razdalja“ med želeno barvo in vsako barvo v paleti se izračuna, kot da bi vrednosti RGB predstavljale točke v tridimenzionalnem prostoru. (več)
colorClosestAlpha(int $red, int $green, int $blue, int $alpha): int
Vrne indeks barve v paleti slike, ki je „najbližja“ določeni vrednosti RGB in ravni $alpha
. (več)
colorClosestHWB(int $red, int $green, int $blue): int
Pridobi indeks barve, ki je po odtenku, belini in črnini najbližja dani barvi. (več)
colorDeallocate(int $color): void
Odstrani barvo, ki je bila prej dodeljena s colorAllocate()
ali colorAllocateAlpha()
. (več)
colorExact(int $red, int $green, int $blue): int
Vrne indeks določene barve v paleti slike. (več)
colorExactAlpha(int $red, int $green, int $blue, int $alpha): int
Vrne indeks določene barve+alfa v paleti slike. (več)
colorMatch(Image $image2): void
Barve različice slike na paleti se bolj približajo pravi barvni različici. (več)
colorResolve(int $red, int $green, int $blue): int
Vrne barvni indeks za zahtevano barvo, bodisi točno določeno barvo bodisi najbližjo možno alternativo. (več)
colorResolveAlpha(int $red, int $green, int $blue, int $alpha): int
Vrne barvni indeks za zahtevano barvo, bodisi točno določeno barvo bodisi najbližjo možno alternativo. (več)
colorSet(int $index, int $red, int $green, int $blue): void
To nastavi določen indeks v paleti na določeno barvo. (več)
colorsForIndex(int $index): array
Pridobi barvo za določen indeks. (več)
colorsTotal(): int
Vrne število barv v slikovni paleti (več).
colorTransparent(?int $color=null): int
Pridobi ali nastavi prozorno barvo na sliki. (več)
convolution(array $matrix, float $div, float $offset): void
Uporabi konvolucijsko matriko na sliki z uporabo danega koeficienta in odmika. (več)
Zahteva razširitev Bundled GD extension, zato ni gotovo, da bo delovala povsod.
copy(Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $srcW, int $srcH): void
Kopira del $src
na sliko z začetkom na koordinatah $srcX
, $srcY
s širino
$srcW
in višino $srcH
. Določeni del bo kopiran na koordinate $dstX
in $dstY
.
(več)
copyMerge(Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $srcW, int $srcH, int $opacity): void
Kopira del $src
na sliko z začetkom na koordinatah $srcX
, $srcY
s širino
$srcW
in višino $srcH
. Določeni del bo kopiran na koordinate $dstX
in $dstY
.
(več)
copyMergeGray(Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $srcW, int $srcH, int $opacity): void
Kopira del $src
na sliko z začetkom na koordinatah $srcX
, $srcY
s širino
$srcW
in višino $srcH
. Določeni del bo kopiran na koordinate $dstX
in
$dstY
.
Ta funkcija je enaka funkciji copyMerge()
, le da pri združevanju ohrani odtenek vira tako, da ciljne piksle pred
kopiranjem pretvori v sivo lestvico. (več)
copyResampled(Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $dstW, int $dstH, int $srcW, int $srcH): void
Kopira pravokotni del ene slike na drugo sliko in gladko interpolira vrednosti slikovnih pik, tako da zlasti pri zmanjšanju velikosti slike še vedno ohrani veliko jasnost.
Z drugimi besedami, copyResampled()
vzame pravokotno območje iz $src
širine $srcW
in
višine $srcH
na položaju ($srcX
,$srcY
) in ga postavi v pravokotno območje slike širine
$dstW
in višine $dstH
na položaj ($dstX
,$dstY
).
Če se izvorne in ciljne koordinate ter širine in višine razlikujejo, se fragment slike ustrezno raztegne ali skrči. Koordinate se nanašajo na zgornji levi kot. To funkcijo lahko uporabite za kopiranje območij znotraj iste slike, vendar bodo rezultati nepredvidljivi, če se območja prekrivajo. (več)
copyResized(Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $dstW, int $dstH, int $srcW, int $srcH): void
Kopira pravokotni del ene slike na drugo sliko. Z drugimi besedami, copyResized()
vzame pravokotno območje iz
$src
širine $srcW
in višine $srcH
na položaju ($srcX
,$srcY
) in
ga postavi v pravokotno območje slike širine $dstW
in višine $dstH
na položaj
($dstX
,$dstY
).
Če se izvorne in ciljne koordinate ter širine in višine razlikujejo, se fragment slike ustrezno raztegne ali skrči. Koordinate se nanašajo na zgornji levi kot. To funkcijo lahko uporabite za kopiranje območij znotraj iste slike, vendar bodo rezultati nepredvidljivi, če se območja prekrivajo. (več)
crop(int|string $left, int|string $top, int|string $width, int|string $height): Image
Obreže sliko na podano pravokotno območje. Dimenzije lahko posredujete kot cela števila v pikslih ali kot nize v odstotkih
(npr. '50%'
).
cropAuto(int $mode=-1, float $threshold=.5, ?ImageColor $color=null): Image
Samodejno obreže sliko v skladu z danim $mode
. (več)
ellipse(int $centerX, int $centerY, int $width, int $height, ImageColor $color): void
Nariše elipso s središčem na določenih koordinatah. (več)
fill(int $x, int $y, ImageColor $color): void
Izvede zapolnitev z zalivko, ki se začne na dani koordinati (levo zgoraj je 0, 0) z danim $color
v sliki. (več)
filledArc(int $centerX, int $centerY, int $width, int $height, int $startAngle, int $endAngle, ImageColor $color, int $style): void
Nariše delni lok s središčem na določeni koordinati na sliki. (več)
filledEllipse(int $centerX, int $centerY, int $width, int $height, ImageColor $color): void
Nariše elipso s središčem na določeni koordinati na sliki. (več)
filledPolygon(array $points, ImageColor $color): void
Ustvari zapolnjen poligon v $sliki. (več)
filledRectangle(int $x1, int $y1, int $x2, int $y2, ImageColor $color): void
Ustvari pravokotnik, zapolnjen s $color
na sliki, ki se začne pri $x1
in $y1
ter konča
pri $x2
in $y2
. Točka 0, 0 je zgornji levi vogal slike. (več)
filledRectangleWH(int $left, int $top, int $width, int $height, ImageColor $color): void
Ustvari pravokotnik, zapolnjen s $color
na sliki, ki se začne v točki $left
in $top
,
s širino $width
in višino $height
. Točka 0, 0 je zgornji levi vogal slike.
fillToBorder(int $x, int $y, int $border, ImageColor $color): void
Izvede zalivko, katere barva roba je določena s $border
. Začetna točka za zapolnitev je $x
,
$y
(levo zgoraj je 0, 0), območje pa je zapolnjeno z barvo $color
. (več)
filter(int $filtertype, int …$args): void
Na sliko uporabi dani filter $filtertype
. (več)
flip(int $mode): void
Obrne sliko z uporabo danega $mode
. (več)
ftText(float $size, float $angle, int $x, int $y, ImageColor $color, string $fontFile, string $text, array $options=[]): array
Napišite besedilo na sliko. (več)
gammaCorrect(float $inputgamma, float $outputgamma): void
Uporabi popravek gama za sliko, če sta podana vhodna in izhodna gama. (več)
getClip(): array
Pridobi trenutni obrezovalni pravokotnik, tj. območje, zunaj katerega se ne bodo izrisale nobene piksle. (več)
getHeight(): int
Vrne višino slike.
getImageResource(): resource|GdImage
Vrne izvirni vir.
getWidth(): int
Vrne širino slike.
interlace(?int $interlace=null): int
Vklopi ali izklopi bit prepletanja. Če je nastavljen bit prepletanja in se slika uporablja kot slika JPEG, se slika ustvari kot progresivni JPEG. (več)
isTrueColor(): bool
Ugotovi, ali je slika prava barva. (več)
layerEffect(int $effect): void
Nastavite zastavico mešanja alfa, če želite uporabiti učinke plastenja. (več)
line(int $x1, int $y1, int $x2, int $y2, ImageColor $color): void
Nariše črto med dvema danima točkama. (več)
openPolygon(array $points, ImageColor $color): void
Na sliko nariše odprt poligon. V nasprotju s spletno stranjo polygon()
med zadnjo in prvo točko ni potegnjena
črta. (več)
paletteCopy(Image $source): void
Kopira paleto s spletne strani $source
na sliko. (več)
paletteToTrueColor(): void
Pretvarja sliko na podlagi palete, ustvarjeno s funkcijami, kot je create()
, v pravo barvno sliko, kot je
createtruecolor()
. (več)
place(Image $image, int|string $left=0, int|string $top=0, int $opacity=100): Image
Kopira $image
v sliko na koordinatah $left
in $top
. Koordinate lahko posredujete kot
cela števila v pikslih ali kot nize v odstotkih (npr. '50%'
).
polygon(array $points, ImageColor $color): void
Ustvari poligon na sliki. (več)
rectangle(int $x1, int $y1, int $x2, int $y2, ImageColor $color): void
Ustvari pravokotnik, ki se začne na določenih koordinatah. (več)
rectangleWH(int $left, int $top, int $width, int $height, ImageColor $color): void
Ustvari pravokotnik na danih koordinatah.
resize(int|string $width, int|string $height, int $flags=Image::OrSmaller): Image
Skaliranje slike, glejte več informacij. Dimenzije lahko posredujete kot cela števila
v pikslih ali kot nize v odstotkih (npr. '50%'
).
resolution(?int $resX=null, ?int $resY=null): mixed
Omogoča nastavitev in pridobitev ločljivosti slike v DPI (točkah na palec). Če ni podan nobeden od neobveznih parametrov,
se trenutna ločljivost vrne kot indeksirano polje. Če je podan samo naslov $resX
, se vodoravna in navpična
ločljivost nastavita na to vrednost. Če sta podana oba neobvezna parametra, se vodoravna in navpična ločljivost nastavita na
ti vrednosti.
Ločljivost se kot meta informacija uporablja le pri branju slik iz formatov, ki podpirajo tovrstne informacije (trenutno sta to formata PNG in JPEG), in pri zapisovanju v te formate. To ne vpliva na nobeno risanje. Privzeta ločljivost novih slik je 96 DPI. (več)
rotate(float $angle, int $backgroundColor): Image
Obrne sliko z uporabo danega $angle
v stopinjah. Središče vrtenja je središče slike, zasukana slika pa ima
lahko drugačne dimenzije kot izvirna slika. (več)
Zahteva razširitev Bundled GD extension, zato ni gotovo, da bo delovala povsod.
save(string $file, ?int $quality=null, ?int $type=null): void
Sliko shrani v datoteko.
Kakovost stiskanja je v območju 0..100 za JPEG (privzeto 85), WEBP (privzeto 80) in AVIF (privzeto 30) ter 0..9 za PNG
(privzeto 9). Če vrsta ni razvidna iz končnice datoteke, jo lahko določite z eno od konstant ImageType
.
saveAlpha(bool $saveflag): void
Nastavi zastavico, ki določa, ali naj se pri shranjevanju slik PNG ohranijo popolne informacije o kanalu alfa (v nasprotju z enobarvno prosojnostjo).
Če želite ohraniti kanal alfa, morate onemogočiti funkcijo alphablending (alphaBlending(false)
). (več)
scale(int $newWidth, int $newHeight=-1, int $mode=IMG_BILINEAR_FIXED): Image
Skalira sliko z uporabo danega algoritma interpolacije. (več)
send(int $type=ImageType::JPEG, ?int $quality=null): void
Izpiše sliko v brskalnik.
Kakovost stiskanja je v območju 0..100 za JPEG (privzeto 85), WEBP (privzeto 80) in AVIF (privzeto 30) ter 0..9 za PNG (privzeto 9).
setBrush(Image $brush): void
Nastavi sliko čopiča, ki jo uporabljajo vse funkcije za risanje črt (kot sta line()
in polygon()
)
pri risanju s posebnimi barvami IMG_COLOR_BRUSHED ali IMG_COLOR_STYLEDBRUSHED. (več)
setClip(int $x1, int $y1, int $x2, int $y2): void
Nastavi trenutni pravokotnik za obrezovanje, tj. območje, zunaj katerega se piksli ne bodo izrisali. (več)
setInterpolation(int $method=IMG_BILINEAR_FIXED): void
Nastavi metodo interpolacije, ki vpliva na metodi rotate()
in affine()
. (več)
setPixel(int $x, int $y, ImageColor $color): void
Nariše piksel na določeni koordinati. (več)
setStyle(array $style): void
Nastavi slog, ki ga bodo uporabljale vse funkcije za risanje črt (na primer line()
in polygon()
), ko
bodo risale s posebno barvo IMG_COLOR_STYLED ali črte slik z barvo IMG_COLOR_STYLEDBRUSHED. (več)
setThickness(int $thickness): void
Nastavi debelino črt, narisanih pri risanju pravokotnikov, mnogokotnikov, lokov itd., na $thickness
pikslov. (več)
setTile(Image $tile): void
Nastavi sliko ploščice, ki jo uporabljajo vse funkcije za zapolnitev območja (kot sta fill()
in
filledPolygon()
) pri zapolnjevanju s posebno barvo IMG_COLOR_TILED.
Ploščica je slika, ki se uporablja za zapolnitev območja s ponavljajočim se vzorcem. Kot ploščico lahko uporabite katero
koli sliko, z nastavitvijo indeksa prozorne barve slike ploščice s colorTransparent()
pa lahko ustvarite
ploščico, ki omogoča, da določeni deli osnovnega območja prosevajo. (več)
sharpen(): Image
Nekoliko izostri sliko.
Zahteva razširitev Bundled GD extension, zato ni gotovo, da bo delovala povsod.
toString(int $type=ImageType::JPEG, ?int $quality=null): string
Izpiše sliko v niz.
Kakovost stiskanja je v območju 0..100 za JPEG (privzeto 85), WEBP (privzeto 80) in AVIF (privzeto 30) ter 0..9 za PNG (privzeto 9).
trueColorToPalette(bool $dither, int $ncolors): void
Pretvori sliko truecolor v sliko palete. (več)
ttfText(float $size, float $angle, int $x, int $y, ImageColor $color, string $fontFile, string $text, array $options=[]): array
V sliko zapiše podano besedilo. (več)