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)