Görüntü Fonksiyonları

Nette\Utils\Image sınıfı, yeniden boyutlandırma, kırpma, keskinleştirme, çizim veya birden fazla görüntüyü birleştirme gibi görüntü manipülasyonunu basitleştirir.

PHP, görüntüleri işlemek için kapsamlı bir işlev setine sahiptir. Ancak API pek hoş değil. Seksi bir API ile ortaya çıkmak için Neat Framework olmazdı.

Kurulum:

composer require nette/utils

Aşağıdaki örneklerde, aşağıdaki sınıf takma adının tanımlandığı varsayılmaktadır:

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

Görüntü Oluşturma

Örneğin 100×200 boyutlarında yeni bir gerçek renkli görüntü oluşturacağız:

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

İsteğe bağlı olarak bir arka plan rengi belirtebilirsiniz (varsayılan renk siyahtır):

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

Ya da görüntüyü bir dosyadan yükleriz:

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

Görüntüyü Kaydet

Görüntü bir dosyaya kaydedilebilir:

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

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

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

Format dosya uzantısından anlaşılmıyorsa, sabit ile belirtilebilir:

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

Görüntü disk yerine bir değişkene yazılabilir:

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

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

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

Formatlar

Desteklenen biçimler JPEG, PNG, GIF, WebP, AVIF ve BMP'dir. Ancak, bunların PHP sürümünüz tarafından da destekleniyor olması gerekir; isTypeSupported() işlevi kullanılarak bu doğrulanabilir. Animasyonlar desteklenmez.

Biçimler 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 bir görüntünün formatını tespit etmeniz mi gerekiyor? Yöntem bunu ikinci parametrede döndürür:

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

Görüntü yüklenmeden gerçek algılama Image::detectTypeFromFile() tarafından gerçekleştirilir.

Görüntü Yeniden Boyutlandırma

Yaygın bir işlem, bir görüntüyü yeniden boyutlandırmaktır. Geçerli boyutlar getWidth() ve getHeight() yöntemleri tarafından döndürülür.

Yeniden boyutlandırma için resize() yöntemi kullanılır. Bu, 500×300 pikseli aşmayacak şekilde orantılı boyut değişikliği örneğidir (genişlik tam olarak 500 piksel veya yükseklik tam olarak 300 piksel olacaktır, boyutlardan biri en boy oranını korumak için hesaplanır):

$image->resize(500, 300);

Yalnızca bir boyut ayarlamak mümkündür ve ikincisi hesaplanacaktır:

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

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

Herhangi bir boyut yüzde olarak belirtilebilir:

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

resize adresinin davranışı aşağıdaki bayraklardan etkilenebilir. Image::Stretch hariç hepsi en boy oranını korur.

Bayrak Açıklama
Image::OrSmaller (varsayılan) sonuçta elde edilen boyutlar belirtilenden küçük veya eşit olacaktır
Image::OrBigger hedef alanı doldurur ve muhtemelen bir yönde genişletir
Image::Cover tüm alanı doldurur ve onu aşanları keser
Image::ShrinkOnly sadece aşağı ölçeklendirir (küçük bir görüntüyü genişletmez)
Image::Stretch en boy oranını korumaz

Bayraklar fonksiyonun üçüncü argümanı olarak aktarılır:

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

Bayraklar birleştirilebilir:

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

Boyutlardan biri (veya her ikisi) negatif sayı olarak belirtilerek görüntüler 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

Görüntüyü küçülttükten sonra keskinleştirerek iyileştirebiliriz:

$image->sharpen();

Kırpma

Kırpma için crop() yöntemi kullanılır:

$image->crop($left, $top, $width, $height);

resize() adresinde olduğu gibi, tüm değerler yüzde olarak belirtilebilir. $left ve $top için yüzdeler, background-position CSS özelliğine benzer şekilde kalan alandan hesaplanır:

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

Görüntü otomatik olarak da kırpılabilir, örneğin siyah kenarlar kırpılabilir:

$image->cropAuto(IMG_CROP_BLACK);

cropAuto() yöntemi, imagecropauto() işlevinin bir nesne kapsüllemesidir, daha fazla bilgi için belgelerine bakın.

Renkler

ImageColor::rgb() yöntemi, kırmızı, yeşil ve mavi (RGB) değerlerini kullanarak bir renk tanımlamanıza olanak tanır. İsteğe bağlı olarak, CSS'de olduğu gibi 0 (tamamen saydam) ile 1 (tamamen opak) arasında değişen bir saydamlık değeri de belirtebilirsiniz.

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

ImageColor::hex() yöntemi, CSS'ye benzer şekilde onaltılık biçimi kullanarak bir renk tanımlamanıza olanak tanır. #rgb , #rrggbb, #rgba ve #rrggbbaa biçimlerini destekler:

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

Renkler ellipse(), fill(), vb. gibi diğer yöntemlerde de kullanılabilir.

Çizim ve Düzenleme

Çizebilir, yazabilir, resim işleme için tüm PHP işlevlerini kullanabilirsiniz, bkz. yöntemlere genel bakış, ancak nesne yönelimli bir sarmalayıcı içinde:

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

Dikdörtgen çizmek için PHP işlevleri koordinat belirtmek nedeniyle pratik olmadığından, Image sınıfı bunların yerine rectangleWH() ve filledRectangleWH() işlevlerini sunar.

Birden Fazla Görüntüyü Birleştirme

Görüntünün içine kolayca başka bir görüntü yerleştirebilirsiniz:

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

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

Yapıştırırken, alfa kanalına saygı duyulur, ayrıca eklenen görüntünün şeffaflığını etkileyebiliriz (sözde bir filigran oluşturacağız):

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

Böyle bir API'yi kullanmak gerçekten bir zevk, değil mi?

Yöntemlere Genel Bakış

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

Verilen boyutlarda yeni bir gerçek renkli görüntü oluşturur. Varsayılan renk siyahtır.

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

Dosyadan bir görüntü okur ve türünü $detectedFormat olarak döndürür.

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

Bir dizeden bir görüntü okur ve türünü $detectedFormat olarak döndürür.

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

Bu özellik ImageColor sınıfı ile değiştirilmiştir, 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örüntü türünü döndürür.

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

Görüntü dosyasının türünü ve $width ve $height parametrelerinde de boyutlarını döndürür.

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

Dizeden görüntünün türünü ve $width ve $height parametrelerinden de boyutlarını döndürür.

static isTypeSupported(int $type)bool

Verilen görüntü türünün desteklenip desteklenmediğini belirler.

static getSupportedTypes(): array

Desteklenen görüntü türlerinin bir dizisini döndürür (sabitler ImageType::XXX).

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

Metni belirtilen yazı tipi ve boyutta çevreleyen dikdörtgenin boyutlarını hesaplar. left , top, width, height anahtarlarını içeren bir ilişkisel dizi döndürür. Metin sola doğru bir çıkıntıyla başlıyorsa, sol kenar boşluğu negatif olabilir.

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

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

affineMatrixConcat(array $m1, array $m2)array

İki afin dönüşüm matrisinin birleştirilmesini döndürür; bu, aynı görüntüye tek seferde birden fazla dönüşüm uygulanması gerektiğinde kullanışlıdır. (daha fazla)

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

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

alphaBlending(bool $on): void

Gerçek renkli görüntüler üzerinde iki farklı çizim moduna izin verir. Karıştırma modunda, setPixel() gibi tüm çizim işlevlerine sağlanan rengin alfa kanalı bileşeni, altta yatan rengin ne kadarının parlamasına izin verilmesi gerektiğini belirler. Sonuç olarak, o noktadaki mevcut rengi çizim rengiyle otomatik olarak karıştırır ve sonucu görüntüde saklar. Ortaya çıkan piksel opaktır. Karışımsız modda, çizim rengi alfa kanalı bilgisiyle birlikte tam anlamıyla kopyalanır ve hedef pikselin yerini alır. Palet görüntüleri üzerinde çizim yaparken karıştırma modu kullanılamaz. (daha fazla)

antialias(bool $on): void

Çizgiler ve kablolu çokgenler için hızlı çizim antialiased yöntemlerini etkinleştirin. Alfa bileşenlerini desteklemez. Doğrudan harmanlama işlemi kullanılarak çalışır. Yalnızca gerçek renkli görüntülerle çalışır.

Şeffaf arka plan rengiyle kenar yumuşatılmış ilkel öğelerin kullanılması bazı beklenmedik sonuçlara yol açabilir. Karışım 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. (daha fazla)

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

Verilen koordinatları merkez alan 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. Görüntüde kullanılacak her bir rengi oluşturmak için çağrılmalıdır. (daha fazla)

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

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

colorAt(int $x, int $y)int

Görüntüde belirtilen konumdaki pikselin renginin indeksini döndürür. Görüntü gerçek renkli bir görüntüyse, bu fonksiyon o pikselin RGB değerini tamsayı olarak döndürür. Farklı kırmızı, yeşil ve mavi bileşen değerlerine erişmek için bit kaydırma ve maskeleme kullanın: (devamı)

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

Görüntünün paletinde belirtilen RGB değerine “en yakın” olan rengin indeksini döndürür. İstenen renk ile paletteki her renk arasındaki “mesafe”, RGB değerleri üç boyutlu uzaydaki noktaları temsil ediyormuş gibi hesaplanır. (daha fazla)

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

Görüntünün paletinde belirtilen RGB değerine ve $alpha düzeyine “en yakın” rengin indeksini döndürür. (daha fazla)

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

Verilen renge en yakın ton, beyaz ve siyahlığa sahip rengin indeksini alır. (daha fazla)

colorDeallocate(int $color)void

Daha önce colorAllocate() veya colorAllocateAlpha() ile tahsis edilmiş bir rengin tahsisini kaldırır. (daha fazla)

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

Görüntünün paletinde belirtilen rengin indeksini döndürür. (daha fazla)

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

Görüntünün paletinde belirtilen renk+alfa indeksini döndürür. (daha fazla)

colorMatch(Image $image2)void

Bir görüntünün palet sürümünün renklerinin gerçek renk sürümüne daha yakın olmasını sağlar. (daha fazla)

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

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

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

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

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

Bu, palette belirtilen indeksi belirtilen renge ayarlar. (daha fazla)

colorsForIndex(int $index)array

Belirtilen bir indeks için rengi döndürür. (daha fazla)

colorsTotal(): int

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

colorTransparent(int $color=null)int

Görüntüdeki saydam rengi alır veya ayarlar. (daha fazla)

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

Verilen katsayı ve ofseti kullanarak görüntü üzerinde bir konvolüsyon matrisi uygular. (daha fazla)

Paketlenmiş GD uzantısı* gerektirir, bu nedenle her yerde çalışacağından emin değildir.

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

$src adresinin bir bölümünü $srcX, $srcY koordinatlarından başlayarak $srcW genişliğinde ve $srcH yüksekliğinde görüntü üzerine kopyalar. Tanımlanan kısı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 adresinin bir bölümünü $srcX, $srcY koordinatlarından başlayarak $srcW genişliğinde ve $srcH yüksekliğinde görüntü üzerine kopyalar. Tanımlanan kısı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 adresinin bir bölümünü $srcX, $srcY koordinatlarından başlayarak $srcW genişliğinde ve $srcH yüksekliğinde görüntü üzerine kopyalar. Tanımlanan kısım $dstX ve $dstY koordinatlarına kopyalanacaktır.

Bu işlev copyMerge() ile aynıdır, ancak birleştirme sırasında hedef pikselleri kopyalama işleminden önce gri ölçeğe dönüştürerek kaynağın tonunu korur. (daha fazla)

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

Bir görüntünün dikdörtgen bir bölümünü başka bir görüntüye kopyalar, piksel değerlerini düzgün bir şekilde enterpole eder, böylece özellikle bir görüntünün boyutunun küçültülmesi hala büyük ölçüde netliği korur.

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

Kaynak ve hedef koordinatları ile genişlik ve yükseklikler farklıysa, görüntü parçasında uygun germe veya küçültme işlemi gerçekleştirilir. Koordinatlar sol üst köşeyi ifade eder. Bu fonksiyon aynı görüntü içindeki bölgeleri kopyalamak için kullanılabilir ancak bölgeler çakışırsa sonuçlar tahmin edilemez 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 görüntünün dikdörtgen bir bölümünü başka bir görüntüye kopyalar. Başka bir deyişle, copyResized() $src adresinden ($srcX,$srcY) konumunda $srcW genişliğinde ve $srcH yüksekliğinde dikdörtgen bir alan alacak ve bunu ($dstX,$dstY) konumunda $dstW genişliğinde ve $dstH yüksekliğinde dikdörtgen bir görüntü alanına yerleştirecektir.

Kaynak ve hedef koordinatları ile genişlik ve yükseklikler farklıysa, görüntü parçasında uygun germe veya küçültme işlemi gerçekleştirilir. Koordinatlar sol üst köşeyi ifade eder. Bu fonksiyon aynı görüntü içindeki bölgeleri kopyalamak için kullanılabilir ancak bölgeler üst üste gelirse sonuçlar tahmin edilemez olacaktır. (daha fazla)

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

Bir görüntüyü verilen dikdörtgen alana kırpar. Boyutlar piksel cinsinden tamsayılar veya yüzde cinsinden dizeler olarak aktarılabilir (örn. '50%').

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

Bir görüntüyü verilen $mode adresine göre otomatik olarak kırpar. (daha fazla)

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

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

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

Verilen koordinattan başlayarak (sol üst 0, 0'dır) görüntüde verilen $color ile bir sel dolgusu gerçekleştirir. (daha fazla)

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

Görüntüde belirtilen koordinatı merkez alan kısmi bir yay çizer. (daha fazla)

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

Görüntüde belirtilen koordinatı merkez alan bir elips çizer. (daha fazla)

filledPolygon(array $points, ImageColor $color)void

Resim içinde dolu bir çokgen oluşturur. (daha fazla)

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

Görüntüde $x1 & $y1 adresinden başlayıp $x2 & $y2 adresinde biten $color ile doldurulmuş bir dikdörtgen oluşturur. 0, 0 noktası görüntünün sol üst köşesidir. (daha fazla)

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

Görüntüde $left & $top noktasından başlayarak genişliği $width ve yüksekliği $height olan $color ile doldurulmuş bir dikdörtgen oluşturur. 0, 0 noktası görüntünün sol üst köşesidir.

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

Kenarlık rengi $border tarafından tanımlanan bir taşma dolgusu gerçekleştirir. Dolgu için başlangıç noktası $x, $y (sol üst 0, 0'dır) ve bölge $color rengi ile doldurulur. (daha fazla)

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

Verilen filtreyi $filtertype görüntü üzerinde uygular. (daha fazla)

flip(int $mode): void

Verilen $mode adresini kullanarak görüntüyü çevirir. (daha fazla)

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

Resimdeki metni yazın. (daha fazla)

gammaCorrect(float $inputgamma, float $outputgamma)void

Bir giriş ve bir çıkış gaması verilen görüntüye gama düzeltmesi uygular. (daha fazla)

getClip(): array

Geçerli kırpma dikdörtgenini, yani ötesinde hiçbir pikselin çizilmeyeceği alanı alır. (daha fazla)

getHeight(): int

Görüntünün yüksekliğini döndürür.

getImageResource(): resource|GdImage

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

getWidth(): int

Görüntünün genişliğini döndürür.

interlace(int $interlace=null)int

Geçiş bitini açar veya kapatır. Geçiş biti ayarlanmışsa ve görüntü bir JPEG görüntüsü olarak kullanılıyorsa, görüntü aşamalı bir JPEG olarak oluşturulur. (daha fazla)

isTrueColor(): bool

Görüntünün gerçek renk olup olmadığını bulur. (daha fazla)

layerEffect(int $effect)void

Katmanlama 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ında bir çizgi çizer. (daha fazla)

openPolygon(array $points, ImageColor $color)void

Görüntü üzerine açık bir çokgen çizer. polygon() 'un aksine, son nokta ile ilk nokta arasında bir çizgi çizilmez. (daha fazla)

paletteCopy(Image $source)void

Paleti $source adresinden görüntüye kopyalar. (daha fazla)

paletteToTrueColor(): void

create() gibi işlevler tarafından oluşturulan palet tabanlı bir görüntüyü createtruecolor() gibi gerçek renkli bir görüntüye dönüştürür. (daha fazla)

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

$image adresini $left ve $top koordinatlarındaki görüntüye kopyalar. Koordinatlar piksel cinsinden tamsayılar veya yüzde cinsinden dizeler olarak aktarılabilir (örn. '50%').

polygon(array $points, ImageColor $color)void

Görüntüde bir çokgen oluşturur. (daha fazla)

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

Belirtilen koordinatlardan başlayan bir dikdörtgen oluşturur. (daha fazla)

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

Verilen koordinatlarda bir dikdörtgen oluşturur.

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

Bir görüntüyü ölçeklendirir, daha fazla bilgi için bkz. Boyutlar piksel cinsinden tamsayılar veya yüzde cinsinden dizeler olarak aktarılabilir (örn. '50%').

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

DPI (inç başına nokta) cinsinden bir görüntünün çözünürlüğünü ayarlamaya ve almaya izin verir. İ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 adresi 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 görüntüler bu tür bilgileri destekleyen formatlardan (şu anda PNG ve JPEG) okunduğunda ve bu formatlara yazıldığında meta bilgi olarak kullanılır. Herhangi bir çizim işlemini etkilemez. Yeni görüntüler için varsayılan çözünürlük 96 DPI'dır. (daha fazla)

rotate(float $angle, int $backgroundColor)Image

Verilen $angle adresini derece cinsinden kullanarak görüntüyü döndürür. Döndürme merkezi görüntünün merkezidir ve döndürülen görüntü orijinal görüntüden farklı boyutlara sahip olabilir. (daha fazla)

Paketlenmiş GD uzantısı* gerektirir, bu nedenle her yerde çalışacağından emin değildir.

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

Bir görüntüyü 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 ve PNG (varsayılan 9) için 0..9 aralığındadır. Tür dosya uzantısından anlaşılmıyorsa, ImageType sabitlerinden birini kullanarak belirtebilirsiniz.

saveAlpha(bool $saveflag)void

PNG görüntüleri kaydedilirken tam alfa kanalı bilgisinin (tek renkli saydamlığın aksine) korunup korunmayacağını belirleyen bayrağı ayarlar.

İlk etapta alfa kanalını korumak için alfabe oluşturma devre dışı bırakılmalıdır (alphaBlending(false)). (daha fazla)

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

Verilen enterpolasyon algoritmasını kullanarak bir görüntüyü ölçeklendirir. (daha fazla)

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

Tarayıcıya bir görüntü çıktısı verir.

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

setBrush(Image $brush)void

IMG_COLOR_BRUSHED veya IMG_COLOR_STYLEDBRUSHED özel renkleriyle çizim yaparken tüm çizgi çizim fonksiyonları ( line() ve polygon() gibi) tarafından kullanılacak fırça görüntüsünü ayarlar. (daha fazla)

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

setInterpolation(int $method=IMG_BILINEAR_FIXED)void

rotate() ve affine() yöntemlerini etkileyen enterpolasyon yöntemini ayarlar. (daha fazla)

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

Belirtilen koordinatta bir piksel çizer. (devamı)

setStyle(array $style)void

IMG_COLOR_STYLED özel rengiyle veya IMG_COLOR_STYLEDBRUSHED rengine sahip görüntülerin çizgileriyle çizim yaparken tüm çizgi çizim işlevleri ( line() ve polygon() gibi) tarafından kullanılacak stili ayarlar. (daha fazla)

setThickness(int $thickness)void

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

setTile(Image $tile)void

IMG_COLOR_TILED özel rengiyle doldururken tüm bölge doldurma işlevleri ( fill() ve filledPolygon() gibi) tarafından kullanılacak döşeme görüntüsünü ayarlar.

Karo, bir alanı tekrarlanan bir desenle doldurmak için kullanılan bir görüntüdür. Herhangi bir görüntü karo olarak kullanılabilir ve karo görüntüsünün şeffaf renk indeksi colorTransparent() ile ayarlanarak, alttaki alanın belirli kısımlarının parlamasına izin veren bir karo oluşturulabilir. (daha fazla)

sharpen(): Image

Görüntüyü biraz keskinleştirir.

Paketlenmiş GD uzantısı* gerektirir, bu nedenle her yerde çalışacağından emin değiliz.

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

Bir görüntüyü dizeye çıktı olarak verir.

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

trueColorToPalette(bool $dither, int $ncolors)void

Bir gerçek renkli görüntüyü bir palet görüntüsüne 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 resmin içine yazar. (daha fazla)

versiyon: 4.0