Görsellerle Çalışma
Nette\Utils\Image sınıfı, görsellerle çalışmayı kolaylaştırır: boyutlandırma, kırpma, keskinleştirme, çizim ya da birden çok görseli birleştirme gibi.
PHP'nin görsel işleme için geniş bir fonksiyon kümesi vardır. Ancak API'leri pek kullanıcı dostu değildir. Nette Framework, keyifli bir API ortaya koymasaydı Nette Framework olmazdı.
Kurulum:
composer require nette/utils
Aşağıdaki örnekler, şu sınıf takma adlarının tanımlandığını varsayar:
use Nette\Utils\Image;
use Nette\Utils\ImageColor;
use Nette\Utils\ImageType;
Görsel Oluşturma
Örneğin 100×200 boyutlarında yeni bir true color görsel oluşturun:
$image = Image::fromBlank(100, 200);
İsteğe bağlı olarak arka plan rengini de belirtebilirsiniz (varsayılan siyahtır):
$image = Image::fromBlank(100, 200, ImageColor::rgb(125, 0, 0));
Ya da bir görseli dosyadan yükleyin:
$image = Image::fromFile('nette.jpg');
Görseli Kaydetme
Görsel bir dosyaya kaydedilebilir:
$image->save('resampled.jpg');
Sıkıştırma kalitesini JPEG için 0–100 (varsayılan 85), WEBP için 0–100 (varsayılan 80), AVIF için 0–100 (varsayılan 30) ve PNG için 0–9 (varsayılan 9) aralığında belirtebilirsiniz:
$image->save('resampled.jpg', 80); // JPEG, kalite %80
Biçim dosya uzantısından anlaşılmıyorsa bir sabitle belirtilebilir:
$image->save('resampled.tmp', null, ImageType::JPEG);
Görsel, diske kaydedilmek yerine bir değişkene yazılabilir:
$data = $image->toString(ImageType::JPEG, 80); // JPEG, kalite %80
ya da uygun Content-Type HTTP header'ıyla doğrudan tarayıcıya gönderilebilir:
// Content-Type: image/png header'ını gönderir
$image->send(ImageType::PNG);
Biçimler
Desteklenen biçimler JPEG, PNG, GIF, WebP, AVIF ve BMP'dir. Ancak PHP sürümünüzün de bunları desteklemesi gerekir; bunu isTypeSupported() fonksiyonuyla doğrulayabilirsiniz. Animasyonlar desteklenmez.
Biçimler ImageType::JPEG, ImageType::PNG, ImageType::GIF, ImageType::WEBP,
ImageType::AVIF ve ImageType::BMP sabitleriyle temsil edilir.
$supported = Image::isTypeSupported(ImageType::JPEG);
Görselin biçimini yüklerken saptamanız mı gerekiyor? Metot onu ikinci parametrede döndürür:
$image = Image::fromFile('nette.jpg', $type);
Görselin kendisini yüklemeden saptama Image::detectTypeFromFile() ile yapılır.
Boyutlandırma
Yaygın işlemlerden biri görselin boyutunu değiştirmektir. Geçerli boyutları getWidth() ve
getHeight() metotları döndürür.
Boyutlandırma için resize() metodu kullanılır. Görselin 500×300 pikseli aşmaması için orantılı
boyutlandırma örneği (ya genişlik tam olarak 500px ya da yükseklik tam olarak 300px olur; diğer boyut en-boy oranını
korumak için hesaplanır):
$image->resize(500, 300);
Yalnızca bir boyut belirtilebilir, diğeri otomatik hesaplanır:
$image->resize(500, null); // genişlik 500px, yükseklik otomatik hesaplanır
$image->resize(null, 300); // genişlik otomatik hesaplanır, yükseklik 300px
Her iki boyut da yüzde olarak belirtilebilir:
$image->resize('75%', 300); // %75 × 300px
resize() davranışı aşağıdaki bayraklarla etkilenebilir. Image::Stretch dışındaki tüm
bayraklar en-boy oranını korur.
| Bayrak | Açıklama |
|---|---|
Image::OrSmaller (varsayılan) |
ortaya çıkan boyutlar istenen boyutlardan küçük ya da onlara eşit olur |
Image::OrBigger |
hedef alanı doldurur (ve bir boyutta onu aşabilir) |
Image::Cover |
hedef alanı doldurur ve taşan her şeyi kırpar |
Image::ShrinkOnly |
yalnızca küçültür (küçük bir görselin gerilmesini önler) |
Image::Stretch |
en-boy oranını korumaz |
Bayraklar metoda üçüncü argüman olarak verilir:
$image->resize(500, 300, Image::OrBigger);
Bayraklar birleştirilebilir:
$image->resize(500, 300, Image::ShrinkOnly | Image::Stretch);
Boyutlardan birini (ya da her ikisini) negatif sayı olarak belirterek görseller dikey ya da yatay olarak çevrilebilir:
$flipped = $image->resize(null, '-100%'); // dikey çevir
$flipped = $image->resize('-100%', '-100%'); // 180° döndür
$flipped = $image->resize(-125, 500); // boyutlandır ve yatay çevir
Bir görseli boyutlandırdıktan sonra, hafif bir keskinleştirmeyle görünümünü iyileştirebilirsiniz:
$image->sharpen();
Kırpma
Kırpmak için crop() metodu kullanılır:
$image->crop($left, $top, $width, $height);
resize() metodunda olduğu gibi tüm değerler yüzde olarak belirtilebilir. $left ve
$top için yüzdeler, CSS'teki background-position özelliğine benzer şekilde kalan alandan
hesaplanır:
$image->crop('100%', '50%', '80%', '80%');
Görsel, örneğin siyah kenarlıkları kaldırmak için otomatik olarak da kırpılabilir:
$image->cropAuto(IMG_CROP_BLACK);
cropAuto() metodu, imagecropauto() fonksiyonunun nesne yönelimli bir sargısıdır; ayrıntılar
için belgelerine bakın.
Renkler
ImageColor::rgb() metodu, bir rengi kırmızı, yeşil ve mavi (RGB) değerleriyle tanımlamanızı sağlar.
İsteğe bağlı olarak, tıpkı CSS'teki gibi 0 (tümüyle saydam) ile 1 (tümüyle donuk) arasında bir saydamlık değeri de
belirtebilirsiniz.
$color = ImageColor::rgb(255, 0, 0); // Kırmızı
$transparentBlue = ImageColor::rgb(0, 0, 255, 0.5); // Yarı saydam mavi
ImageColor::hex() metodu, bir rengi CSS'e benzer şekilde onaltılık biçimde tanımlamanızı sağlar.
#rgb, #rrggbb, #rgba ve #rrggbbaa biçimlerini destekler:
$color = ImageColor::hex("#F00"); // Kırmızı
$transparentGreen = ImageColor::hex("#00FF0080"); // Yarı saydam yeşil
Renkler ellipse(), fill() gibi başka metotlarda da kullanılabilir.
Çizim ve Düzenleme
PHP'nin görsel işleme fonksiyonlarının tümü, nesne yönelimli bir biçime sarılmış olarak kullanımınızdadır; bkz. Metotlara Genel Bakış:
$image->filledEllipse($centerX, $centerY, $width, $height, ImageColor::rgb(255, 0, 0));
PHP'nin dikdörtgen çizen yerleşik fonksiyonları koordinat belirtme biçimi yüzünden pek kullanışlı olmadığından,
Image sınıfı bunların yerine geçenler sunar: rectangleWH() ve filledRectangleWH().
Birden Çok Görseli Birleştirme
Geçerli görselin üzerine kolayca başka bir görsel yerleştirebilirsiniz:
$logo = Image::fromFile('logo.png');
$blank = Image::fromBlank(320, 240, ImageColor::rgb(52, 132, 210));
// koordinatlar yüzde olarak da belirtilebilir
$blank->place($logo, '80%', '80%'); // sağ alt köşenin yakınına yerleştir
Yerleştirme sırasında alfa kanalına saygı gösterilir. Ayrıca yerleştirilen görselin saydamlığını da etkileyebilirsiniz (filigran oluşturarak):
$blank->place($image, '80%', '80%', 25); // donukluk %25
Böyle bir API'yi kullanmak gerçekten keyifli!
Metotlara Genel Bakış
static fromBlank (int $width, int $height, ?ImageColor $color=null): Image
Verilen boyutlarda yeni bir true color görsel oluşturur. Varsayılan renk siyahtır.
static fromFile (string $file, int &$detectedFormat=null, string &$warnings=null): Image
Bir görseli dosyadan okur ve türünü $detectedFormat içinde döndürür.
$warnings verirseniz, görsel çözücüsünün ölümcül olmayan uyarıları PHP uyarısı olarak yükseltilmek
yerine bu değişkende saklanır; uyarı yoksa null kalır.
static fromString (string $s, int &$detectedFormat=null, string &$warnings=null): Image
Bir görseli dizeden okur ve türünü $detectedFormat içinde döndürür.
$warnings verirseniz, görsel çözücüsünün ölümcül olmayan uyarıları PHP uyarısı olarak yükseltilmek
yerine bu değişkende saklanır; uyarı yoksa null kalır.
static rgb (int $red, int $green, int $blue, int $transparency=0): array
Bu fonksiyonun yerini ImageColor sınıfı aldı, bkz. Renkler.
static typeToExtension (int $type): string
Verilen tür için dosya uzantısını döndürür.
static typeToMimeType (int $type): string
Verilen tür için MIME türünü döndürür.
static extensionToType (string $extension): int
Dosya uzantısına göre görselin türünü döndürür.
static detectTypeFromFile (string $file, int &$width=null, int &$height=null): ?int
Görsel dosyasının türünü ve $width ile $height parametrelerinde
boyutlarını da döndürür.
static detectTypeFromString (string $s, int &$width=null, int &$height=null): ?int
Dizeden gelen görselin türünü ve $width ile $height parametrelerinde
boyutlarını da döndürür.
static isTypeSupported (int $type): bool
Verilen görsel türünün desteklenip desteklenmediğini denetler.
static getSupportedTypes(): array
Desteklenen görsel türlerinden oluşan bir dizi döndürür.
static calculateTextBox (string $text, string $fontFile, float $size, float $angle=0, array $options=[]): array
Metni belirli bir yazı tipi ve boyutta çevreleyen dikdörtgenin boyutlarını hesaplar. left, top,
width, height anahtarlarını içeren ilişkisel bir dizi döndürür. Metin sola taşan bir kerning ile
başlıyorsa sol kenar boşluğu negatif olabilir.
affine (array $affine, ?array $clip=null): Image
Kaynak görselin afin dönüşümünü, isteğe bağlı bir kırpma alanı kullanarak içeren bir görsel döndürür. (ayrıntı).
alphaBlending (bool $on): void
True color görsellerde iki farklı çizim kipine olanak tanır. Harmanlama kipinde, setPixel() gibi tüm çizim
fonksiyonlarına verilen rengin alfa kanalı bileşeni, altta kalan rengin ne kadarının görünmesine izin verileceğini
belirler. Sonuç olarak o noktadaki var olan rengi çizim rengiyle otomatik olarak harmanlar ve sonucu görselde saklar. Ortaya
çıkan piksel donuktur. Harmanlamasız kipte çizim rengi, alfa kanalı bilgisiyle birlikte harfi harfine kopyalanır ve hedef
pikselin yerini alır. Harmanlama kipi, palet görsellerinde çizim yaparken kullanılamaz. (ayrıntı)
antialias (bool $on): void
Çizgiler ve tel kafes çokgenler için hızlı kenar yumuşatmalı çizim metotlarını etkinleştirir. Alfa bileşenlerini desteklemez. Doğrudan bir harmanlama işlemiyle çalışır. Yalnızca true color görsellerde çalışır.
Kenar yumuşatmalı ilkelleri saydam arka plan rengiyle kullanmak beklenmedik sonuçlar verebilir. Harmanlama yöntemi arka plan rengini diğer renkler gibi kullanır. Alfa bileşeni desteğinin olmaması, alfa tabanlı bir kenar yumuşatma yöntemine izin vermez. (ayrıntı)
arc (int $centerX, int $centerY, int $width, int $height, int $startAngle, int $endAngle, ImageColor $color): void
Verilen koordinatlarda merkezlenmiş bir daire yayı çizer. (ayrıntı)
colorAllocate (int $red, int $green, int $blue): int
Verilen RGB bileşenlerinden oluşan rengi temsil eden bir renk tanımlayıcısı döndürür. Görselde kullanılacak her rengi oluşturmak için çağrılmalıdır. (ayrıntı)
colorAllocateAlpha (int $red, int $green, int $blue, int $alpha): int
colorAllocate() ile aynı şekilde davranır, ek olarak $alpha saydamlık parametresini alır. (ayrıntı)
colorAt (int $x, int $y): int
Görselde belirtilen konumdaki pikselin renk indeksini döndürür. Görsel true color ise, bu fonksiyon o pikselin RGB değerini tam sayı olarak döndürür. Ayrı kırmızı, yeşil ve mavi bileşen değerlerine erişmek için bit kaydırma ve maskeleme kullanın: (ayrıntı)
colorClosest (int $red, int $green, int $blue): int
Görselin paletinde, belirtilen RGB değerine “en yakın” rengin indeksini döndürür. İstenen renk ile paletteki her renk arasındaki “uzaklık”, RGB değerleri üç boyutlu uzaydaki noktalarmış gibi hesaplanır. (ayrıntı)
colorClosestAlpha (int $red, int $green, int $blue, int $alpha): int
Görselin paletinde, belirtilen RGB değerine ve $alpha düzeyine “en yakın” rengin indeksini döndürür.
(ayrıntı)
colorClosestHWB (int $red, int $green, int $blue): int
Ton, beyazlık ve siyahlık bakımından verilen renge en yakın rengin indeksini alır. (ayrıntı)
colorDeallocate (int $color): void
Daha önce colorAllocate() ya da colorAllocateAlpha() ile ayrılmış bir rengin ayrımını
kaldırır. (ayrıntı)
colorExact (int $red, int $green, int $blue): int
Belirtilen rengin görsel paletindeki indeksini döndürür. (ayrıntı)
colorExactAlpha (int $red, int $green, int $blue, int $alpha): int
Belirtilen renk + alfa değerinin görsel paletindeki indeksini döndürür. (ayrıntı)
colorMatch (Image $image2): void
Bir görselin palet sürümündeki renkleri, true color sürümüne daha çok yaklaştırır. (ayrıntı)
colorResolve (int $red, int $green, int $blue): int
İstenen renk için ya tam rengin ya da olası en yakın alternatifin renk indeksini döndürür. (ayrıntı)
colorResolveAlpha (int $red, int $green, int $blue, int $alpha): int
İstenen renk için ya tam rengin ya da olası en yakın alternatifin renk indeksini döndürür. (ayrıntı)
colorSet (int $index, int $red, int $green, int $blue, int $alpha=0): void
Palette belirtilen indeksi belirtilen renge ayarlar. (ayrıntı)
colorsForIndex (int $index): array
Belirtilen indeksteki rengi alır. (ayrıntı)
colorsTotal(): int
Görsel paletindeki renk sayısını döndürür. (ayrıntı)
colorTransparent (?int $color=null): int
Görseldeki saydam rengi alır ya da ayarlar. (ayrıntı)
convolution (array $matrix, float $div, float $offset): void
Verilen katsayı ve kaymayı kullanarak görsele bir evrişim matrisi uygular. (ayrıntı)
Bundled GD extension gerektirir, bu yüzden her yerde çalışmayabilir.
copy (Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $srcW, int $srcH): void
$src görselinin, $srcX, $srcY koordinatlarından başlayan $srcW
genişliğinde ve $srcH yüksekliğindeki bir parçasını görsele kopyalar. Tanımlanan parça $dstX
ve $dstY koordinatlarına kopyalanır. (ayrıntı)
copyMerge (Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $srcW, int $srcH, int $opacity): void
$src görselinin, $srcX, $srcY koordinatlarından başlayan $srcW
genişliğinde ve $srcH yüksekliğindeki bir parçasını görsele kopyalar. Tanımlanan parça $dstX
ve $dstY koordinatlarına kopyalanır. (ayrıntı)
copyMergeGray (Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $srcW, int $srcH, int $opacity): void
$src görselinin, $srcX, $srcY koordinatlarından başlayan $srcW
genişliğinde ve $srcH yüksekliğindeki bir parçasını görsele kopyalar. Tanımlanan parça $dstX
ve $dstY koordinatlarına kopyalanır.
Bu fonksiyon copyMerge() ile aynıdır; tek farkı, birleştirirken kopyalama işleminden önce hedef pikselleri
gri tonlamaya çevirerek kaynağın tonunu korumasıdır. (ayrıntı)
copyResampled (Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $dstW, int $dstH, int $srcW, int $srcH): void
Bir görselin dikdörtgen bir parçasını başka bir görsele, piksel değerlerini yumuşakça ara değerleyerek kopyalar; böylece özellikle bir görseli küçültürken netlik büyük ölçüde korunur.
Başka bir deyişle copyResampled(), $src görselinden ($srcX,$srcY)
konumundaki $srcW genişliğinde ve $srcH yüksekliğindeki dikdörtgen alanı alır ve onu görselde
($dstX,$dstY) konumundaki $dstW genişliğinde ve $dstH yüksekliğindeki
dikdörtgen alana yerleştirir.
Kaynak ve hedefin koordinatları ile genişlik ve yükseklikleri farklıysa, görsel parçası uygun şekilde gerilir ya da küçültülür. Koordinatlar sol üst köşeye göredir. Bu fonksiyon aynı görsel içindeki bölgeleri kopyalamak için de kullanılabilir, ama bölgeler örtüşürse sonuçlar öngörülemez olur. (ayrıntı)
copyResized (Image $src, int $dstX, int $dstY, int $srcX, int $srcY, int $dstW, int $dstH, int $srcW, int $srcH): void
Bir görselin dikdörtgen bir parçasını başka bir görsele kopyalar. Başka bir deyişle copyResized(),
$src görselinden ($srcX,$srcY) konumundaki $srcW genişliğinde ve
$srcH yüksekliğindeki dikdörtgen alanı alır ve onu görselde ($dstX,$dstY) konumundaki
$dstW genişliğinde ve $dstH yüksekliğindeki dikdörtgen alana yerleştirir.
Kaynak ve hedefin koordinatları ile genişlik ve yükseklikleri farklıysa, görsel parçası uygun şekilde gerilir ya da küçültülür. Koordinatlar sol üst köşeye göredir. Bu fonksiyon aynı görsel içindeki bölgeleri kopyalamak için de kullanılabilir, ama bölgeler örtüşürse sonuçlar öngörülemez olur. (ayrıntı)
crop (int|string $left, int|string $top, int|string $width, int|string $height): Image
Görseli verilen dikdörtgen alana kırpar. Boyutlar piksel cinsinden tam sayı ya da yüzde biçiminde dize olarak (örneğin
'50%') belirtilebilir.
cropAuto (int $mode=0, float $threshold=.5, ?ImageColor $color=null): Image
Görseli verilen $mode değerine göre otomatik olarak kırpar. (ayrıntı)
ellipse (int $centerX, int $centerY, int $width, int $height, ImageColor $color): void
Belirtilen koordinatlarda merkezlenmiş bir elips çizer. (ayrıntı)
fill (int $x, int $y, ImageColor $color): void
Verilen koordinattan (sol üst 0, 0'dır) başlayarak verilen $color ile taşma dolgusu yapar. (ayrıntı)
filledArc (int $centerX, int $centerY, int $width, int $height, int $startAngle, int $endAngle, ImageColor $color, int $style): void
Belirtilen koordinatlarda merkezlenmiş kısmi bir yay çizer. (ayrıntı)
filledEllipse (int $centerX, int $centerY, int $width, int $height, ImageColor $color): void
Belirtilen koordinatlarda merkezlenmiş bir elips çizer. (ayrıntı)
filledPolygon (array $points, ImageColor $color): void
Görselde dolgulu bir çokgen oluşturur. (ayrıntı)
filledRectangle (int $x1, int $y1, int $x2, int $y2, ImageColor $color): void
Görselde, ($x1, $y1) noktasından başlayıp ($x2, $y2) noktasında biten,
$color ile dolgulu bir dikdörtgen oluşturur. (0, 0) noktası görselin sol üst köşesidir. (ayrıntı)
filledRectangleWH (int $x, int $y, int $width, int $height, ImageColor $color): void
Görselde, ($x, $y) noktasından başlayan, $width genişliğinde ve
$height yüksekliğinde, $color ile dolgulu bir dikdörtgen oluşturur. (0, 0) noktası görselin sol
üst köşesidir.
fillToBorder (int $x, int $y, ImageColor $borderColor, ImageColor $color): void
Kenarlık rengi $borderColor ile tanımlanan bir taşma dolgusu yapar. Dolgunun başlangıç noktası
($x, $y) (sol üst 0, 0'dır) ve bölge $color rengiyle doldurulur. (ayrıntı)
filter (int $filtertype, int …$args): void
Görsele verilen $filtertype filtresini uygular. (ayrıntı)
flip (int $mode): void
Görseli verilen $mode ile çevirir. (ayrıntı)
ftText (float $size, float $angle, int $x, int $y, ImageColor $color, string $fontFile, string $text, array $options=[]): array
Görsele metin yazar. (ayrıntı)
gammaCorrect (float $inputgamma, float $outputgamma): void
Verilen girdi ve çıktı gama değerlerine göre görsele gama düzeltmesi uygular. (ayrıntı)
getClip(): array
Geçerli kırpma dikdörtgenini, yani ötesinde hiçbir pikselin çizilmeyeceği alanı alır. (ayrıntı)
getHeight(): int
Görselin yüksekliğini döndürür.
getImageResource(): GdImage
Alttaki GD görsel resource'unu döndürür.
getWidth(): int
Görselin genişliğini döndürür.
interlace (?int $interlace=null): int
Aralamayı açar ya da kapatır. Aralama etkinse ve görsel JPEG olarak kaydedilirse, progressive JPEG olarak kaydedilir. (ayrıntı)
isTrueColor(): bool
Görselin true color olup olmadığını denetler. (ayrıntı)
layerEffect (int $effect): void
Katman efektlerini kullanmak için alfa harmanlama bayrağını ayarlar. (ayrıntı)
line (int $x1, int $y1, int $x2, int $y2, ImageColor $color): void
Verilen iki nokta arasına bir çizgi çizer. (ayrıntı)
openPolygon (array $points, ImageColor $color): void
Görselde açık bir çokgen çizer. polygon() metodunun aksine son nokta ile ilk nokta arasına çizgi çizilmez.
(ayrıntı)
paletteCopy (Image $source): void
Paleti $source görselinden bu görsele kopyalar. (ayrıntı)
paletteToTrueColor(): void
Palet tabanlı bir görseli true color görsele dönüştürür. (ayrıntı)
place (Image $image, int|string $left=0, int|string $top=0, int $opacity=100): Image
$image görselini geçerli görselin üzerine ($left, $top) koordinatlarına kopyalar.
Koordinatlar piksel cinsinden tam sayı ya da yüzde biçiminde dize olarak (örneğin '50%') belirtilebilir.
polygon (array $points, ImageColor $color): void
Görselde bir çokgen oluşturur. (ayrıntı)
rectangle (int $x1, int $y1, int $x2, int $y2, ImageColor $color): void
Belirtilen koordinatlarda bir dikdörtgen oluşturur. (ayrıntı)
rectangleWH (int $x, int $y, int $width, int $height, ImageColor $color): void
Verilen koordinatlarda, genişlik ve yükseklik kullanarak bir dikdörtgen oluşturur.
resize (int|string $width, int|string $height, int $mode=Image::OrSmaller): Image
Görseli boyutlandırır, bkz. ayrıntılı bilgi. Boyutlar piksel cinsinden tam sayı ya da
yüzde biçiminde dize olarak (örneğin '50%') belirtilebilir.
resolution (?int $resX=null, ?int $resY=null): mixed
Görselin çözünürlüğünü DPI (inç başına nokta) cinsinden ayarlamaya ve almaya olanak tanır. İsteğe bağlı
parametrelerden hiçbiri verilmezse geçerli çözünürlük indeksli dizi olarak döndürülür. Yalnızca $resX
verilirse yatay ve dikey çözünürlük bu değere ayarlanır. Her iki isteğe bağlı parametre de verilirse yatay ve dikey
çözünürlük sırasıyla bu değerlere ayarlanır.
Çözünürlük yalnızca meta bilgi olarak kullanılır; görseller bu tür bilgileri destekleyen biçimlerden okunurken ve bu biçimlere yazılırken (şu an PNG ve JPEG) geçerlidir. Hiçbir çizim işlemini etkilemez. Yeni görsellerde varsayılan çözünürlük 96 DPI'dır. (ayrıntı)
rotate (float $angle, ImageColor $backgroundColor): Image
Görseli verilen $angle açısı kadar derece cinsinden döndürür. Döndürme merkezi görselin merkezidir ve
döndürülmüş görselin boyutları özgün görselden farklı olabilir. (ayrıntı)
Bundled GD extension gerektirir, bu yüzden her yerde çalışmayabilir.
save (string $file, ?int $quality=null, ?int $type=null): void
Görseli bir dosyaya kaydeder.
Sıkıştırma kalitesi JPEG için 0–100 (varsayılan 85), WEBP için 0–100 (varsayılan 80), AVIF için 0–100
(varsayılan 30) ve PNG için 0–9 (varsayılan 9) aralığındadır. Tür dosya uzantısından anlaşılmıyorsa
ImageType sabitlerinden biriyle belirtebilirsiniz.
saveAlpha (bool $saveflag): void
PNG görselleri kaydedilirken (tek renkli saydamlık yerine) tam alfa kanalı bilgisinin kaydedilip kaydedilmeyeceğini belirleyen bayrağı ayarlar.
Nette bu bayrağı Image yapıcısında açar; böylece fromFile(), fromString() ya da
fromBlank() ile yüklenen veya oluşturulan bir görsel alfa kanalını korur. Varsayılan harmanlama kipinde,
çizilen bir rengin alfası yalnızca sonucu karıştırmak için kullanılır ve saklanmaz; bu yüzden çizilen saydamlığın
korunması gerekiyorsa önce alphaBlending(false) çağırın. (ayrıntı)
scale (int $newWidth, int $newHeight=-1, int $mode=IMG_BILINEAR_FIXED): Image
Görseli, verilen ara değerleme algoritmasını kullanarak ölçekler. (ayrıntı)
send (int $type=ImageType::JPEG, ?int $quality=null): void
Görseli tarayıcıya çıktılar.
Sıkıştırma kalitesi JPEG için 0–100 (varsayılan 85), WEBP için 0–100 (varsayılan 80), AVIF için 0–100 (varsayılan 30) ve PNG için 0–9 (varsayılan 9) aralığındadır.
setBrush (Image $brush): void
IMG_COLOR_BRUSHED ya da IMG_COLOR_STYLEDBRUSHED özel renkleriyle çizim yapılırken tüm çizgi
çizme fonksiyonlarının (line() ve polygon() gibi) kullanacağı fırça görselini ayarlar. (ayrıntı)
setClip (int $x1, int $y1, int $x2, int $y2): void
Geçerli kırpma dikdörtgenini, yani ötesinde hiçbir pikselin çizilmeyeceği alanı ayarlar. (ayrıntı)
setInterpolation (int $method=IMG_BILINEAR_FIXED): void
rotate() ve affine() metotlarını etkileyen ara değerleme yöntemini ayarlar. (ayrıntı)
getInterpolation(): int
rotate() ve affine() metotlarının kullandığı geçerli ara değerleme yöntemini döndürür.
setPixel (int $x, int $y, ImageColor $color): void
Belirtilen koordinata bir piksel çizer. (ayrıntı)
setStyle (array $style): void
IMG_COLOR_STYLED özel rengiyle çizim yapılırken ya da IMG_COLOR_STYLEDBRUSHED rengiyle görsel
çizgileri çizilirken tüm çizgi çizme fonksiyonlarının (line() ve polygon() gibi) kullanacağı
stili ayarlar. (ayrıntı)
setThickness (int $thickness): void
Dikdörtgen, çokgen, yay vb. çizilirken kullanılan çizgi kalınlığını $thickness piksele ayarlar. (ayrıntı)
setTile (Image $tile): void
IMG_COLOR_TILED özel rengiyle doldurma yapılırken tüm bölge doldurma fonksiyonlarının (fill()
ve filledPolygon() gibi) kullanacağı döşeme görselini ayarlar.
Döşeme, bir alanı yinelenen bir desenle doldurmak için kullanılan bir görseldir. Herhangi bir görsel döşeme olarak
kullanılabilir; döşeme görselinin saydam renk indeksini colorTransparent() ile ayarlayarak, altta kalan alanın
belirli parçalarının görünmesine izin veren bir döşeme oluşturulabilir. (ayrıntı)
sharpen(): Image
Görseli keskinleştirir.
Bundled GD extension gerektirir, bu yüzden her yerde çalışmayabilir.
toString (int $type=ImageType::JPEG, ?int $quality=null): string
Görseli dize olarak çıktılar.
Sıkıştırma kalitesi JPEG için 0–100 (varsayılan 85), WEBP için 0–100 (varsayılan 80), AVIF için 0–100 (varsayılan 30) ve PNG için 0–9 (varsayılan 9) aralığındadır.
trueColorToPalette (bool $dither, int $ncolors): void
True color bir görseli palet görseline dönüştürür. (ayrıntı)
ttfText (float $size, float $angle, int $x, int $y, ImageColor $color, string $fontFile, string $text, array $options=[]): array
Verilen metni görsele yazar. (ayrıntı)