Resimlerle Çalışma

Nette\Utils\Image sınıfı, yeniden boyutlandırma, kırpma, keskinleştirme, çizim yapma veya birden fazla resmi birleştirme gibi resim manipülasyonlarını basitleştirir.

PHP, resim manipülasyonu için kapsamlı bir fonksiyon setine sahiptir. Ancak API'leri pek kullanışlı değildir. Nette Framework olmasaydı, çekici bir API ile gelmezdi.

Kurulum:

composer require nette/utils

Tüm örnekler, bir takma ad oluşturulduğunu varsayar:

use Nette\Utils\Image;
use Nette\Utils\ImageColor;
use Nette\Utils\ImageType;

Resim Oluşturma

Örneğin 100×200 boyutlarında yeni bir true color resim oluşturalım:

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

İsteğe bağlı olarak, arka plan rengi belirtilebilir (varsayılan siyahtır):

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

Veya resmi bir dosyadan yükleyelim:

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

Resmi Kaydetme

Resim bir dosyaya kaydedilebilir:

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

JPEG (varsayılan 85), WEBP (varsayılan 80) ve AVIF (varsayılan 30) için 0..100 aralığında ve PNG (varsayılan 9) için 0..9 aralığında sıkıştırma kalitesini belirleyebiliriz:

$image->save('resampled.jpg', 80); // JPEG, kalite %80

Dosya uzantısından format belli değilse, sabit ile belirtilebilir:

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

Resim, diske yerine bir değişkene yazılabilir:

$data = $image->toString(ImageType::JPEG, 80); // JPEG, kalite %80

veya uygun HTTP başlığı Content-Type ile doğrudan tarayıcıya gönderilebilir:

// Content-Type: image/png başlığını gönderir
$image->send(ImageType::PNG);

Formatlar

Desteklenen formatlar JPEG, PNG, GIF, WebP, AVIF ve BMP'dir, ancak PHP sürümünüzün de bunları desteklemesi gerekir, bunu isTypeSupported() fonksiyonu ile doğrulayabilirsiniz. Animasyonlar desteklenmez.

Format, ImageType::JPEG, ImageType::PNG, ImageType::GIF, ImageType::WEBP, ImageType::AVIF ve ImageType::BMP sabitleri ile temsil edilir.

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

Yükleme sırasında resim formatını tespit etmeniz mi gerekiyor? Metot, ikinci parametrede formatı döndürür:

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

Resmi yüklemeden sadece tespit işlemini Image::detectTypeFromFile() yapar.

Yeniden Boyutlandırma

Sık yapılan bir işlem, resmin boyutlarını değiştirmektir. Mevcut boyutları getWidth() ve getHeight() metotları döndürür.

Değişiklik için resize() metodu kullanılır. 500×300 piksel boyutlarını aşmayacak şekilde orantılı yeniden boyutlandırma örneği (ya genişlik tam olarak 500 piksel olacak ya da yükseklik tam olarak 300 piksel olacak, en boy oranını korumak için boyutlardan biri hesaplanacaktır):

$image->resize(500, 300);

Sadece bir boyut belirtmek ve diğerinin hesaplanmasını sağlamak mümkündür:

$image->resize(500, null); // genişlik 500px, yükseklik hesaplanır

$image->resize(null, 300); // genişlik hesaplanır, yükseklik 300px

Herhangi bir boyut yüzde olarak da belirtilebilir:

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

resize davranışını aşağıdaki bayraklarla etkileyebilirsiniz. Image::Stretch dışındaki tümü en boy oranını korur.

Bayrak Açıklama
Image::OrSmaller (varsayılan) sonuç boyutları istenen boyutlara eşit veya daha küçük olacaktır
Image::OrBigger hedef alanı doldurur (ve muhtemelen bir boyutta aşar)
Image::Cover hedef alanı doldurur ve aşan kısmı kırpar
Image::ShrinkOnly sadece küçültme (küçük bir resmin büyütülmesini önler)
Image::Stretch en boy oranını korumaz

Bayraklar, fonksiyonun üçüncü argümanı olarak belirtilir:

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

Bayraklar birleştirilebilir:

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

Resimler, boyutlardan birini (veya her ikisini) negatif bir sayı olarak belirterek dikey veya yatay olarak çevrilebilir:

$flipped = $image->resize(null, '-100%'); // dikey çevir

$flipped = $image->resize('-100%', '-100%'); // 180° döndür

$flipped = $image->resize(-125, 500); // yeniden boyutlandır ve yatay çevir

Resmi küçülttükten sonra, görünümünü hafif bir keskinleştirme ile iyileştirmek mümkündür:

$image->sharpen();

Kırpma

Kırpma 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 özelliği background-position'a benzer şekilde kalan alandan hesaplanır:

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

Resim ayrıca otomatik olarak da kırpılabilir, örneğin siyah kenarları kırpma:

$image->cropAuto(IMG_CROP_BLACK);

cropAuto() metodu, imagecropauto() fonksiyonunun nesneye yönelik bir alternatifidir, dokümantasyonunda daha fazla bilgi bulabilirsiniz.

Renkler

ImageColor::rgb() metodu, kırmızı, yeşil ve mavi (RGB) değerlerini kullanarak bir renk tanımlamanıza olanak tanır. İsteğe bağlı olarak, 0 (tamamen şeffaf) ile 1 (tamamen opak) arasında bir şeffaflık değeri de belirtebilirsiniz, yani CSS'deki gibi.

$color = ImageColor::rgb(255, 0, 0); // Kırmızı
$transparentBlue = ImageColor::rgb(0, 0, 255, 0.5); // Yarı şeffaf mavi

ImageColor::hex() metodu, CSS'dekine benzer şekilde onaltılık format kullanarak bir renk tanımlamanıza olanak tanır. #rgb, #rrggbb, #rgba ve #rrggbbaa formatlarını destekler:

$color = ImageColor::hex("#F00"); // Kırmızı
$transparentGreen = ImageColor::hex("#00FF0080"); // Yarı şeffaf yeşil

Renkler, ellipse(), fill() vb. gibi diğer metotlarda kullanılabilir.

Çizim ve Düzenleme

Çizebilirsin, yazabilirsin, ama yaprakları koparamazsın. Resimlerle çalışmak için tüm PHP fonksiyonları size sunulmuştur, bkz. Metotlara Genel Bakış, ancak nesneye yönelik bir biçimde:

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

PHP'nin dikdörtgen çizme fonksiyonları koordinat belirleme nedeniyle pratik olmadığından, Image sınıfı rectangleWH() ve filledRectangleWH() fonksiyonları şeklinde bunların yerine geçenleri sunar.

Birden Fazla Resmi Birleştirme

Bir resme kolayca başka bir resim eklenebilir:

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

// koordinatlar yine yüzde olarak belirtilebilir
$blank->place($logo, '80%', '80%'); // sağ alt köşeye yakın bir yere ekleriz

Ekleme sırasında alfa kanalı dikkate alınır, ayrıca eklenen resmin şeffaflığını etkileyebiliriz (bir filigran oluştururuz):

$blank->place($image, '80%', '80%', 25); // şeffaflık %25'tir

Böyle bir API kullanmak gerçekten bir zevktir!

Metotlara Genel Bakış

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

Verilen boyutlarda yeni bir true color resim oluşturur. Varsayılan renk siyahtır.

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

Dosyadan bir resim yükler ve $detectedFormat içinde tipini döndürür.

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

Bir karakter dizisinden bir resim yükler ve $detectedFormat içinde tipini döndürür.

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

Bu fonksiyonun yerini ImageColor sınıfı almıştır, bkz. renkler.

static typeToExtension (int $type)string

Verilen tip için dosya uzantısını döndürür.

static typeToMimeType (int $type)string

Verilen tip için mime türünü döndürür.

static extensionToType (string $extension)int

Dosya uzantısına göre resmin tipini döndürür.

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

Resmin tipini ve $width ve $height parametrelerinde boyutlarını döndürür.

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

Bir karakter dizisinden resmin tipini ve $width ve $height parametrelerinde boyutlarını döndürür.

static isTypeSupported (int $type)bool

Verilen resim tipinin desteklenip desteklenmediğini kontrol eder.

static getSupportedTypes(): array

Desteklenen resim tiplerinin bir dizisini döndürür.

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

Belirli bir yazı tipi ve boyutunda metni çevreleyecek dikdörtgenin boyutlarını hesaplar. left, top, width, height anahtarlarını içeren ilişkisel bir dizi döndürür. Metin sol alt kesme ile başlıyorsa sol kenar negatif olabilir.

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

İsteğe bağlı bir kırpma alanı kullanarak src'nin afin olarak dönüştürülmüş görüntüsünü içeren bir resim döndürün. (daha fazla).

affineMatrixConcat (array $m1, array $m2)array

Aynı resme aynı anda birden fazla dönüşüm uygulanacaksa kullanışlı olan iki afin dönüşüm matrisinin birleşimini döndürür. (daha fazla)

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

Bir matris dönüşüm matrisi döndürür. (daha fazla)

alphaBlending (bool $on)void

Truecolor resimlerde iki farklı çizim moduna izin verir. Karıştırma modunda, setPixel() gibi tüm çizim fonksiyonlarında kullanılan rengin alfa kanalı bileşeni, alttaki rengin ne ölçüde görünmesine izin verilmesi gerektiğini belirler. Sonuç olarak, bu noktada mevcut renk otomatik olarak çizilen renkle karıştırılır ve sonuç resme kaydedilir. Sonuç piksel opaktır. Karıştırma olmayan modda, çizilen renk alfa kanalı bilgileriyle birlikte tam olarak kopyalanır ve hedef pikselin yerini alır. Palet resimlerine çizim yaparken karıştırma modu kullanılamaz. (daha fazla)

antialias (bool $on): void

Yumuşatılmış çizgilerin ve çokgenlerin çizimini etkinleştirin. Alfa kanallarını desteklemez. Yalnızca truecolor resimlerde çalışır.

Kenarları yumuşatılmış ilkelleri şeffaf bir arka plan rengiyle kullanmak bazı beklenmedik sonuçlarla sonuçlanabilir. Karıştırma yöntemi, diğer tüm renkler gibi arka plan rengini kullanır. (daha fazla)

arc (int $centerX, int $centerY, int $width, int $height, int $startAngle, int $endAngle, ImageColor $color)void

Verilen koordinatlarda merkezlenmiş bir daire yayı çizer. (daha fazla)

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. Resimde kullanılacak her renk için oluşturulması gerekir. (daha fazla)

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

Şeffaflık parametresi $alpha eklenmesiyle colorAllocate() ile aynı şekilde davranır. (daha fazla)

colorAt (int $x, int $y)int

Resimdeki belirtilen konumdaki pikselin renk indeksini döndürür. Resim truecolor ise, bu fonksiyon o pikselin RGB değerini bir tamsayı 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 bit maskeleme kullanın: (daha fazla)

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

Resim paletindeki, belirtilen RGB değerine „en yakın“ olan rengin indeksini döndürür. “Uzaklık” istenen renk ile paletteki her renk arasında, RGB değerleri üç boyutlu uzaydaki noktaları temsil ediyormuş gibi hesaplanır. (daha fazla)

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

Resim paletindeki, belirtilen RGB değerine ve $alpha seviyesine „en yakın“ olan rengin indeksini döndürür. (daha fazla)

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

Tonu, beyazı ve siyahı verilen renge en yakın olan rengin indeksini alın. (daha fazla)

colorDeallocate (int $color)void

Daha önce colorAllocate() veya colorAllocateAlpha() ile ayrılmış bir rengin ayrılmasını kaldırır. (daha fazla)

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

Resim paletindeki belirtilen rengin indeksini döndürür. (daha fazla)

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

Resim paletindeki belirtilen renk + alfa indeksini döndürür. (daha fazla)

colorMatch (Image $image2)void

Palet renklerini ikinci resme uyarlar. (daha fazla)

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

İstenen renk için, ya tam rengi ya da mümkün olan en yakın alternatifi olan renk indeksini döndürür. (daha fazla)

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

İstenen renk için, ya tam rengi ya da mümkün olan en yakın alternatifi olan renk indeksini döndürür. (daha fazla)

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

Paletteki belirtilen indeksi belirtilen renge ayarlar. (daha fazla)

colorsForIndex (int $index)array

Belirtilen indeksin rengini alır. (daha fazla)

colorsTotal(): int

Resim paletindeki renk sayısını döndürür. (daha fazla)

colorTransparent (?int $color=null)int

Resimdeki şeffaf rengi alır veya ayarlar. (daha fazla)

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

Verilen katsayı ve ofseti kullanarak resme bir konvolüsyon matrisi uygular. (daha fazla)

Birlikte gelen GD uzantısının varlığını gerektirir, bu nedenle her yerde çalışmayabilir.

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

$src öğesinin bir bölümünü, $srcX, $srcY koordinatlarından başlayarak $srcW genişliği ve $srcH yüksekliği ile resme kopyalar. Tanımlanan bölüm $dstX ve $dstY koordinatlarına kopyalanacaktır. (daha fazla)

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

$src öğesinin bir bölümünü, $srcX, $srcY koordinatlarından başlayarak $srcW genişliği ve $srcH yüksekliği ile resme kopyalar. Tanımlanan bölüm $dstX ve $dstY koordinatlarına kopyalanacaktır. (daha fazla)

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

$src öğesinin bir bölümünü, $srcX, $srcY koordinatlarından başlayarak $srcW genişliği ve $srcH yüksekliği ile resme kopyalar. Tanımlanan bölüm $dstX ve $dstY koordinatlarına kopyalanacaktır.

Bu fonksiyon, birleştirme sırasında hedef pikselleri kopyalama işleminden önce gri tonlamaya dönüştürerek kaynağın tonunu koruması dışında copyMerge() ile aynıdır. (daha fazla)

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

Bir resmin dikdörtgen bir bölümünü başka bir resme kopyalar, piksel değerlerini düzgün bir şekilde enterpole eder, böylece özellikle bir resmin boyutunu küçültmek hala büyük bir netliği korur.

Başka bir deyişle, copyResampled() $src öğesinden ($srcX, $srcY) konumunda $srcW genişliğinde ve $srcH yüksekliğinde dikdörtgen bir alan alır ve bunu ($dstX, $dstY) konumunda $dstW genişliğinde ve $dstH yüksekliğinde resmin dikdörtgen bir alanına yerleştirir.

Kaynak ve hedef koordinatları, genişlik ve yükseklik farklıysa, resim parçasının karşılık gelen bir genişletilmesi veya küçültülmesi gerçekleştirilir. Koordinatlar sol üst köşeye göredir. Bu fonksiyon aynı resimdeki alanları kopyalamak için kullanılabilir, ancak alanlar örtüşüyorsa sonuçlar öngörülemez olacaktır. (daha fazla)

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

Bir resmin dikdörtgen bir bölümünü başka bir resme kopyalar. Başka bir deyişle, copyResized() $src öğesinden ($srcX, $srcY) konumunda $srcW genişliğinde ve $srcH yüksekliğinde dikdörtgen bir alan alır ve bunu ($dstX, $dstY) konumunda $dstW genişliğinde ve $dstH yüksekliğinde resmin dikdörtgen bir alanına yerleştirir.

Kaynak ve hedef koordinatları, genişlik ve yükseklik farklıysa, resim parçasının karşılık gelen bir genişletilmesi veya küçültülmesi gerçekleştirilir. Koordinatlar sol üst köşeye göredir. Bu fonksiyon aynı resimdeki alanları kopyalamak için kullanılabilir, ancak alanlar örtüşüyorsa sonuçlar öngörülemez olacaktır. (daha fazla)

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

Resmi verilen dikdörtgen alana kırpar. Boyutlar piksel cinsinden tamsayılar veya yüzde cinsinden karakter dizileri (örneğin '50%') olarak belirtilebilir.

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

Resmi verilen $mode'a göre otomatik olarak kırpar. (daha fazla)

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

Belirtilen koordinatlarda merkezlenmiş bir elips çizer. (daha fazla)

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

Verilen koordinattan başlayarak (sol üst 0, 0) alanı verilen $color ile doldurur. (daha fazla)

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. (daha fazla)

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

Belirtilen koordinatlarda merkezlenmiş bir elips çizer. (daha fazla)

filledPolygon (array $points, ImageColor $color)void

Resimde doldurulmuş bir çokgen oluşturur. (daha fazla)

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

Resimde $x1 & $y1 noktasından başlayıp $x2 & $y2 noktasında biten $color ile doldurulmuş bir dikdörtgen oluşturur. 0, 0 noktası resmin sol üst köşesidir. (daha fazla)

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

Resimde $left & $top noktasından başlayarak $width genişliğinde ve $height yüksekliğinde $color ile doldurulmuş bir dikdörtgen oluşturur. 0, 0 noktası resmin sol üst köşesidir.

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

Kenar rengi $border ile tanımlanan bir dolgu çizer. Dolgunun başlangıç noktası $x, $y'dir (sol üst 0, 0) ve alan $color rengiyle doldurulur. (daha fazla)

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

Verilen $filtertype filtresini resme uygular. (daha fazla)

flip (int $mode): void

Resmi verilen $mode kullanarak çevirir. (daha fazla)

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

Metni resme yazdırır. (daha fazla)

gammaCorrect (float $inputgamma, float $outputgamma)void

Giriş ve çıkış gammalarına göre resme gama düzeltmesi uygular. (daha fazla)

getClip(): array

Mevcut kırpmayı, yani hiçbir pikselin çizilmeyeceği alanı döndürür. (daha fazla)

getHeight(): int

Resmin yüksekliğini döndürür.

getImageResource(): resource|GdImage

Orijinal kaynağı döndürür.

getWidth(): int

Resmin genişliğini döndürür.

interlace (?int $interlace=null)int

Geçişli modu açar veya kapatır. Geçişli mod ayarlanmışsa ve resim JPEG olarak kaydedilmişse, aşamalı JPEG olarak kaydedilir. (daha fazla)

isTrueColor(): bool

Resmin truecolor olup olmadığını belirler. (daha fazla)

layerEffect (int $effect)void

Katman efektlerini kullanmak için alfa karıştırma bayrağını ayarlayın. (daha fazla)

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

Verilen iki nokta arasına bir çizgi çizer. (daha fazla)

openPolygon (array $points, ImageColor $color)void

Resme açık bir çokgen çizer. polygon()'un aksine, son ve ilk nokta arasına çizgi çizilmez. (daha fazla)

paletteCopy (Image $source)void

Paleti $source öğesinden resme kopyalar. (daha fazla)

paletteToTrueColor(): void

Palet tabanlı bir resmi tam renkli bir resme dönüştürür. (daha fazla)

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

$image öğesini $left ve $top koordinatlarında resme kopyalar. Koordinatlar piksel cinsinden tamsayılar veya yüzde cinsinden karakter dizileri (örneğin '50%') olarak belirtilebilir.

polygon (array $points, ImageColor $color)void

Resimde bir çokgen oluşturur. (daha fazla)

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

Belirtilen koordinatlarda bir dikdörtgen oluşturur. (daha fazla)

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

Belirtilen koordinatlarda bir dikdörtgen oluşturur.

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

Resmi yeniden boyutlandırır, daha fazla bilgi. Boyutlar piksel cinsinden tamsayılar veya yüzde cinsinden karakter dizileri (örneğin '50%') olarak belirtilebilir.

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

Resmin çözünürlüğünü DPI (inç başına nokta) cinsinden ayarlar veya döndürür. İsteğe bağlı parametrelerden hiçbiri belirtilmezse, mevcut çözünürlük indekslenmiş bir dizi olarak döndürülür. Yalnızca $resX belirtilirse, yatay ve dikey çözünürlük bu değere ayarlanır. Her iki isteğe bağlı parametre de belirtilirse, yatay ve dikey çözünürlük bu değerlere ayarlanır.

Çözünürlük yalnızca, bu tür bilgileri destekleyen formatlarda (şu anda PNG ve JPEG) resimler okunurken ve yazılırken meta bilgi olarak kullanılır. Herhangi bir çizim işlemini etkilemez. Yeni görüntülerin varsayılan çözünürlüğü 96 DPI'dır. (daha fazla)

rotate (float $angle, int $backgroundColor)Image

Resmi belirtilen $angle ile derece cinsinden döndürür. Döndürme merkezi resmin merkezidir ve döndürülen resim orijinal resimden farklı boyutlara sahip olabilir. (daha fazla)

Birlikte gelen GD uzantısının varlığını gerektirir, bu nedenle her yerde çalışmayabilir.

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

Resmi bir dosyaya kaydeder.

Sıkıştırma kalitesi JPEG (varsayılan 85), WEBP (varsayılan 80) ve AVIF (varsayılan 30) için 0..100 aralığında ve PNG (varsayılan 9) için 0..9 aralığındadır. Tür dosya uzantısından belli değilse, ImageType sabitlerinden birini kullanarak belirtebilirsiniz.

saveAlpha (bool $saveflag)void

PNG görüntülerini kaydederken tam alfa kanalı bilgilerini (tek renkli şeffaflığın aksine) koruyup korumayacağını belirleyen bayrağı ayarlar.

Alfa kanalını ilk etapta korumak için alfablending devre dışı bırakılmalıdır (alphaBlending(false)). (daha fazla)

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

Verilen interpolasyon algoritmasını kullanarak resmi ölçeklendirir. (daha fazla)

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

Resmi tarayıcıya yazdırır.

Sıkıştırma kalitesi JPEG (varsayılan 85), WEBP (varsayılan 80) ve AVIF (varsayılan 30) için 0..100 aralığında ve PNG (varsayılan 9) için 0..9 aralığındadır.

setBrush (Image $brush)void

Özel renkler IMG_COLOR_BRUSHED veya IMG_COLOR_STYLEDBRUSHED ile çizim yaparken tüm çizgi çizim fonksiyonlarında (örneğin line() ve polygon()) kullanılacak fırça görüntüsünü ayarlar. (daha fazla)

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

Mevcut kırpmayı, yani hiçbir pikselin çizilmeyeceği alanı ayarlar. (daha fazla)

setInterpolation (int $method=IMG_BILINEAR_FIXED)void

rotate() ve affine() metotlarını etkileyen interpolasyon yöntemini ayarlar. (daha fazla)

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

Belirtilen koordinata bir piksel çizer. (daha fazla)

setStyle (array $style)void

Özel renk IMG_COLOR_STYLED veya renk IMG_COLOR_STYLEDBRUSHED ile resim çizgileri çizerken tüm çizgi çizim fonksiyonları (örneğin line() ve polygon()) tarafından kullanılacak stili ayarlar. (daha fazla)

setThickness (int $thickness)void

Dikdörtgenler, çokgenler, yaylar vb. çizerken çizgilerin kalınlığını $thickness piksel olarak ayarlar. (daha fazla)

setTile (Image $tile)void

Özel renk IMG_COLOR_TILED ile doldururken tüm bölge doldurma fonksiyonlarında (örneğin fill() ve filledPolygon()) kullanılacak döşeme görüntüsünü ayarlar.

Döşeme, bir alanı tekrarlayan bir desenle doldurmak için kullanılan bir resimdir. Herhangi bir resim döşeme olarak kullanılabilir ve döşeme resminin şeffaf renk indeksini colorTransparent() ile ayarlayarak, alttaki alanın belirli bölümlerinin görüneceği bir döşeme oluşturulabilir. (daha fazla)

sharpen(): Image

Resmi keskinleştirir.

Birlikte gelen GD uzantısının varlığını gerektirir, bu nedenle her yerde çalışmayabilir.

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

Resmi bir karakter dizisine kaydeder.

Sıkıştırma kalitesi JPEG (varsayılan 85), WEBP (varsayılan 80) ve AVIF (varsayılan 30) için 0..100 aralığında ve PNG (varsayılan 9) için 0..9 aralığındadır.

trueColorToPalette (bool $dither, int $ncolors)void

Truecolor bir resmi palet resmine dönüştürür. (daha fazla)

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

Verilen metni resme yazdırır. (daha fazla)

versiyon: 4.0