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ı)

versiyon: 4.x