Grafik Kütüphanesi


    × Bunları biliyor muydunuz?
"Başlangıç dosya ve kontrolcüleri üzerinden tüm kontrolcü ve görünümlere veri gönderilebilir."


Bu kütüphane PHP'nin gd kütüphanesini kullanarak oluşturulmuş kullanımına daha akıcılık ve kolaylık kazandırmak için oluşturulmuştur.

 

 

# Kurulum


ZN dağıtımları için kurulum gerekmez.

↓ composer require znframework/package-image

 

 

# Ön Bilgiler


GD Kütüphanesinde renklerin kullanımı için imageallocate() yönteminin kullanımına gerek yoktur.

Renklerin kullanımı için R|G|B|A formunda yani 0-255|0-255|0-255|0-127 biçiminde belirtilir. Sondaki A harfi alfa değerini ifade eder.

Özel renk isimleri de kullanılabilir. white, purple, pink ...

Genellikle çizimlerde kullanılan x, y, width, height, color gibi parametreler $settings dizi parametresi altında belirtilerek kullanılır. Böylece parametre sayısın azaltılarak parametre sırasının karıştırılmasının önüne geçilmesi sağlamış oldu.

 

 

# Yöntemler


GD::canvas($width, $height, $rgb, $real) : this
GD::generate(string $type, string $save) : mixed
GD::line(array $settings) : this
GD::rectangle(array $settings) : this
GD::arc(array $settings) : this
GD::ellipse(array $settings) : this
GD::polygon(array $settings) : this
GD::char(string $char, array $settings) : this
GD::text(string $text, array $settings) : this
GD::fill(array $settings) : this
GD::pixel(array $settings) : this
GD::thickness(int $thickness = 1) : this
GD::filter(string $filter, int $arg1 = 0, int $arg2 = 0, int $arg3 = 0, int $arg4 = 0) : this
GD::flip(string $type) : this
GD::alphaBlending(bool $blendMode = NULL) : this
GD::saveAlpha(bool $save = true) : this
GD::smooth(bool $mode = true) : this
GD::convolution(array $matrix, float $div = 0, float $offset = 0) : this
GD::interlace(int $interlace = 0) : this
GD::mix($source, array $settings) : this
GD::mixGray($source, array $settings) : this
GD::copy($source, array $settings) : this
GD::resample($source, array $settings) : this
GD::resize($source, array $settings) : this
GD::crop(array $settings) : this
GD::autoCrop(string $mode = 'default', float $threshold = .5, int $color = -1) : this
GD::quality(int $quality) : this
GD::screenshot() : this
GD::rotate(float $angle, string $spaceColor = '0|0|0', int $ignoreTransparent = 0) : this
GD::scale(int $width, int $height = -1, string $mode = 'bilinear_fixed') : this
GD::interpolation(string $method = 'bilinear_fixed') : this
GD::layerEffect(string $effect = 'normal') : this
GD::size(string $fileName) : object
GD::extension(string $type = 'jpeg', bool $dote = true) : string
GD::mime(string $type = 'jpeg') : string

 

 

# Canvas (ZN >= 3.0.0)


Çizim yapmak için tuval oluşturur. 2 tür parametre dizilimi vardır.

Parametreler - Tuval

Boş bir zemin oluşturmak için kullanılan parametre dizilimi aşağıdaki gibidir.

int $width Tuvalin genişliği.
int $height Tuvalin yüksekliği.
string $color = 'transparent' Tuvalin arkaplan rengi.
bool $real = false Gerçek renk değeri.
return this
Parametreler - Resim

Tuval olarak resim kullanılır.

string $file Resim dosyası adı veya yolu.
return this  
Kullanımı
GD::canvas(200, 400, 'white')->generate('png');
Tuval Resmi

Tuval de resim kullanmak için 1. parametreye resmin yolunu verebilirsiniz.

GD::canvas('thumb/example-image.png')->generate('png');

 

 

# Generate (ZN >= 3.0.0)


Uygulanan işlemlerden sonra resim oluşumunu tamamlamak için kullanılan nihai yöntemdir.

Parametreler
string $type Oluşturulacak resmin hangi tür içeriğe sahip olacağını belirtir.
Seçenekler jpeg, gif, png, gd, gd2, wbmp, webp, xbm, xpm
string $save Oluşturulan resmin kaydedilmesi istenirse bu parametreye dosyanın kaydedileceği yol ve isim bilgisi yazılır. Bu parametrenin kullanılmaması durumunda çıktı ekrana yansıtılır.
return mixed
Kullanımı
GD::canvas(200, 400, 'white')->generate('png', 'thumb/example-image');
Oluşturulan dosya: thumb/example-image.png

 

 

# Line (ZN >= 3.0.0)


Tuvale çizgi çizmek için kullanılır.

Parametreler
array $settings Çizim ayarlarını yapılandırmak için kullanılır.
Anahtarlar int x1 Yatay düzlemde başlangıç noktası.
int y1 Dikey düzlemde başlangıç noktası.
int x2 Yatay düzlemde bitiş noktası.
int y2 Dikey düzlemde bitiş noktası.
string color Çizimin rengi.
Seçenekler red, solomon, blue ... '255|0|75', '0|10|127' ...
string type Çizimin türü.
Seçenekler dashed, solid
return this
Kullanımı
GD::canvas(400, 400, 'transparent')
  ->x1(100)->y1(100)->x2(200)->y2(200)->color('red')->line()
  ->x1(100)->y1(100)->x2(0)->y2(0)->color('blue')->line()
  ->generate('png');

 

 

# Rectangle (ZN >= 3.0.0)


Tuvale dörtgen çizmek için kullanılır.

Parametreler
array $settings Çizim ayarlarını yapılandırmak için kullanılır.
Anahtarlar int x Yatay düzlemde başlangıç noktası.
int y Dikey düzlemde başlangıç noktası.
int width Piksel cinsinden genişlik değeri.
int height Piksel cinsinden yükseklik değeri.
string color Çizimin rengi.
Seçenekler red, solomon, blue ... '255|0|75', '0|10|127' ...
string type Çizimin türü.
Seçenekler fill
return this
Kullanımı
GD::canvas(200, 400, 'white')
  ->x(0)->y(0)->width(100)->height(100)->color('255|0|255')->rectangle()
  ->x(100)->y(100)->width(100)->height(100)->color('blue')->type('fill')->rectangle()
  ->generate('png');

 

 

# Arc (ZN >= 3.0.0)


Tuvale yay çizmek için kullanılır.

Parametreler
array $settings Çizim ayarlarını yapılandırmak için kullanılır.
Anahtarlar int x Yatay düzlemde başlangıç noktası.
int y Dikey düzlemde başlangıç noktası.
int width Piksel cinsinden genişlik değeri.
int height Piksel cinsinden yükseklik değeri.
int start Açı başlangıç değeri.
int end Açı bitiş değeri.
string color Çizimin rengi.
Seçenekler red, solomon, blue ... '255|0|75', '0|10|127' ...
string type Çizimin türü.
Seçenekler pie, chord, edged, nofill
return this
Kullanımı
GD::canvas(200, 200, 'white')
  ->x(0)->y(0)->width(100)->height(100)->color('pink')->start(0)->end(90)->type('pie')->arc()
  ->generate('jpeg');

 

 

# Ellipse (ZN >= 3.0.0)


Elips çizmek için kullanılır.

Parametreler
array $settings Çizim ayarlarını yapılandırmak için kullanılır.
Anahtarlar int x Yatay düzlemde başlangıç noktası.
int y Dikey düzlemde başlangıç noktası.
int width Piksel cinsinden genişlik değeri.
int height Piksel cinsinden yükseklik değeri.
string color Çizimin rengi.
Seçenekler red, solomon, blue ... '255|0|75', '0|10|127' ...
string type Çizimin türü.
Seçenekler fill
return this
Kullanımı
GD::canvas(200, 200, 'white')
  ->x(100)->y(100)->width(100)->height(100)->color('red')->type('fill')->ellipse()
  ->generate('jpeg');

 

 

# Polygon (ZN >= 3.0.0)


Çokgen çizmek için kullanılır.

Parametreler
array $settings Çizim ayarlarını yapılandırmak için kullanılır.
Anahtarlar array points Nokta koordinatları.
int pointCount = points / 2 Köşe sayısı. points anahtarına bağlı olarak otomatik olarak hesaplanmaktadır.
string color Çizimin rengi.
Seçenekler red, solomon, blue ... '255|0|75', '0|10|127' ...
string type Çizimin türü.
Seçenekler nofill
return this
Kullanımı
GD::canvas(300, 300, 'red')
  ->color('white')->points([0, 0, 100, 200, 300, 200])->polygon()
  ->generate('jpeg');

 

 

# Char (ZN >= 3.0.0)


Karakter çizmek için kullanılır.

Parametreler
array $settings Çizim ayarlarını yapılandırmak için kullanılır.
Anahtarlar int x Yatay düzlemde başlangıç noktası.
int y Dikey düzlemde başlangıç noktası.
int font  Font türü. Belirtilecek değer, Latin2 kodlamalı yerleşik yazı tipleri için 1, 2, 3, 4, 5
string color Çizimin rengi.
Seçenekler red, solomon, blue ... '255|0|75', '0|10|127' ...
string type Çizimin türü.
Seçenekler vertical, horizontal
return this
Kullanımı
GD::canvas(300, 300, 'white')
  ->color('red')->font(5)->x(40)->y(40)->char('H')
  ->generate('jpeg');

 

 

# Text (ZN >= 3.0.0)


Yazı çizmek için kullanılır.

Parametreler
array $settings Çizim ayarlarını yapılandırmak için kullanılır.
Anahtarlar int x Yatay düzlemde başlangıç noktası.
int y Dikey düzlemde başlangıç noktası.
int font  Font türü. Belirtilecek değer, Latin2 kodlamalı yerleşik yazı tipleri için 1, 2, 3, 4, 5
string color Çizimin rengi.
Seçenekler red, solomon, blue ... '255|0|75', '0|10|127' ...
string type Çizimin türü.
Seçenekler vertical, horizontal
return this
Kullanımı
GD::canvas(300, 300, 'white')
  ->color('red')->font(5)->x(40)->y(100)->type('vertical')->text('Hello!')
  ->generate('jpeg');

 

 

# Fill (ZN >= 3.0.0)


Resmi boyamak için kullanılır.

Parametreler
array $settings Çizim ayarlarını yapılandırmak için kullanılır.
Anahtarlar int x Yatay düzlemde başlangıç noktası.
int y Dikey düzlemde başlangıç noktası.
string borderColor Çerçeve rengi.
string color Çizimin rengi.
Seçenekler red, solomon, blue ... '255|0|75', '0|10|127' ...
string type Çizimin türü.
Seçenekler fill
return this
Kullanımı
GD::canvas(300, 300, 'white')
  ->x(100)->y(100)->arc()
  ->x(200)->y(200)->arc()
  ->color('purple')->x(100)->y(100)->fill()
  ->color('blue')->x(200)->y(200)->fill()
  ->generate('jpeg');

 

 

# Pixel (ZN >= 3.0.0)


Resmin belirtilen piksellerini istenilen renge boyar.

Opsiyonel Yöntemler
this x(int $x) Yatay düzlem.
this y(int $y) Diket düzlem.
this color(string $color) Boyanacak renk.
Kullanımı
GD::canvas(200, 200, 'white')
  ->x(10)->y(10)->color('red')->pixel()
  ->x(10)->y(11)->color('blue')->pixel()
  ->x(10)->y(12)->color('200|20|30')->pixel()
  ->x(10)->y(13)->color('green')->pixel()
  ->x(10)->y(14)->color('pink')->pixel()
  ->generate('png');

 

 

# Thickness (ZN |]= 3.0.0)


Çizgi, elip, kare gibi çizimlerin çizgi kalınlığını ayarlar.

Parametreler
int $border Kalınlığın kaç piksel olacağıdır.
return this
Kullanımı
 GD::canvas(400, 400, 'white')
   ->thickness(10)->x1(100)->y1(100)->x2(200)->y2(200)->color('red')->line()
   ->thickness(20)->x1(100)->y1(100)->x2(0)->y2(0)->color('blue')->line()
   ->generate('png');

 

 

# Filter (ZN |]= 3.0.0)


Resme filtre uygulamak için kullanılır.

Parametreler
string $filterName Filtre adı.
int ...$args Filtre parametreleri.
return this
Filtreler
Parametrik Dizilim Açıklama
filter('negate') Resimdeki tüm renkleri zıt renge dönüştürür.
filter('grayscale') Resmi gri tonlamalı hale getirir.
filter('brightness', int $level) Resmin parlaklığını değiştirir.
filter('constrast', int $level) Resmin karşıtlık seviyesini değiştirir.
filter('colorize', int $red, int $green, int $blue, int $alpha) Resme istediğiniz rengin tonlamalı haline dönüştürür. Renkler 0-255 arası son $alpha parametresi 0-127 arasında değer alır.
filter('edgedetect') Resmin kenarlarını vurgulamak için kenar algılaması kullanılır.
filter('emboss') Resme kabartma uygular.
filter('gaussianBlur') Resmi Gauss yöntemiyle bulanıklaştırır.
filter('selectiveBlur') Resmi Gauss yöntemiyle bulanıklaştırır.
filter('meanRemoval') Karalama taslak etkisi oluşturmak için silme işlemi uygular.
filter('smooth', int $level) Resmin sert hatlarını yumuşatır. 
filter('pixelate', int $size, bool $effect = false) Gelişkin mozaik etkisinin kullanılıp kullanılamayacağıdır.
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->filter('colorize', 80, 50, 60)
  ->filter('brightness', 80)
  ->generate();
5.7.8 Güncellemesi

Bu güncelleme ile birlikte GD::filter() seçeneklerine yöntem ismi ile erişim sağlanabilir.

this filterName(...$parameters)
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->colorize(80, 50, 60)
  ->brightness(80)
  ->negate()
  ->generate();

 

 

# Flip (ZN >= 3.0.0)


Parametreye göre resmi döndürmek için kullanılır.

Parametreler
string $type = 'both' Yön.
Seçenekler horizontal, vertical, both
return this
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->filter('colorize', 80, 50, 60)
  ->flip()
  ->generate();

 

 

# AlphaBlending (ZN >= 3.0.0)


Harmanlama modunu aktif hale getirmek için kullanılır.

Parametreler
bool $mode = false Harmanlama kipi aktif mi?
return this
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->alphaBlending(true)
  ->generate();

 

 

# SaveAlpha (ZN >= 3.0.0)


PNG uzantılı resimler kaydedilirken alfa kanalı bilgisinin kaydedilip kaydedilmeyeceğini belirtmek için kulanılır.

Parametreler
bool $save = false Alfa kanal bilgisi kaydedilsin mi?
return this
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->saveAlpha(true)
  ->generate();

 

 

# Smooth (ZN >= 3.0.0)


Kenarlara yumuşaklık uygulamak için kullanılır.

Parametreler
bool $mode = false Alfa kanal bilgisi kaydedilsin mi?
return this
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->smooth(true)
  ->generate();

 

 

# Convolution (ZN >= 3.0.0)


Resme 3x3'lik matris uygulamak için kullanılır.

Parametreler
array $matrix 3x3'lik matris.
float $div = 0 Normalleştirme için kullanılan dönüştürme sonucu katsayısı.
float $offset = 0 Konum.
return this
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->convolution([[2, 0, 0], [0, -1, 0], [0, 0, -1]], 1, 127)
  ->generate();

 

 

# interlace (ZN >= 3.0.0)


Geçişimliliği açıp kapatmak için kullanılır.

Parametreler
int $interlace = 0 Sıfırdan farklıysa resim geçişimli olur aksi takdirde geçişim biti kapatılır.
return this
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->interlace(1)
  ->generate('png');

 

 

# Mix (ZN >= 3.0.0)


2 resmi belli bir oranda karıştırmak için kullanılır. 

Opsiyonel Yöntemler
this target(int $x, int $y) Hedef canvas() yöntemi ile belirlenen resimdir.
int $x Tuval resminin yatay düzlemde kaçıncı pikselden karıştırmaya başlayacağıdır.
int $y Tuval resminin dikey düzlemde kaçıncı pikselden karıştırmaya başlayacağıdır.
this source(int $x, int $y) Kaynak mix() yöntemi ile belirlenen resimdir.
int $x Kaynak resimden alınacak kesitin yatay düzlemdeki başlangıç noktası.
int $y Kaynak resimden alınacak kesitin dikey düzlemdeki başlangıç noktası.
this width(int $width) Kaynak resimden alınacak kesitin genişliği.
this height(int $height) Kaynak resimden alınacak kesitin yüksekliği.
this percent(int $percent) Karışım oranı.0-100 arasında bir değer olup, iki resim bu şeffaflık oranına göre karıştırılır. 0 değeri için hiçbir ek işlem yapılmaz. 100 için ise, gerçek renkli resimlere alfa şeffaflatması uygulanırken paletli resimlere copy() yöntemindeki yaklaşım uygulanır.
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
   ->target(50, 50)
   ->source(300, 450)
   ->width(200)
   ->height(200)
   ->percent(50)
   ->mix(RESOURCES_DIR . 'wallpaper2.jpg')
   ->generate('png');

 

 

# MixGray (ZN >= 3.0.0)


2 resmi gri tonlarda belli bir oranda karıştırmak için kullanılır.

Opsiyonel Yöntemler
this target(int $x, int $y) Hedef canvas() yöntemi ile belirlenen resimdir.
int $x Tuval resminin yatay düzlemde kaçıncı pikselden karıştırmaya başlayacağıdır.
int $y Tuval resminin dikey düzlemde kaçıncı pikselden karıştırmaya başlayacağıdır.
this source(int $x, int $y) Kaynak mix() yöntemi ile belirlenen resimdir.
int $x Kaynak resimden alınacak kesitin yatay düzlemdeki başlangıç noktası.
int $y Kaynak resimden alınacak kesitin dikey düzlemdeki başlangıç noktası.
this width(int $width) Kaynak resimden alınacak kesitin genişliği.
this height(int $height) Kaynak resimden alınacak kesitin yüksekliği.
this percent(int $percent) Karışım oranı.0-100 arasında bir değer olup, iki resim bu şeffaflık oranına göre karıştırılır. 0 değeri için hiçbir ek işlem yapılmaz. 100 için ise, gerçek renkli resimlere alfa şeffaflatması uygulanırken paletli resimlere copy() yöntemindeki yaklaşım uygulanır.
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
   ->target(50, 50)
   ->source(300, 450)
   ->width(200)
   ->height(200)
   ->percent(50)
   ->mixGray(RESOURCES_DIR . 'wallpaper2.jpg')
   ->generate('png');

 

 

# Copy (ZN >= 3.0.0)


Resmin belirli bir konumuna başka bir resmin parçasını kopyalamak için kullanılır.

Opsiyonel Yöntemler
this target(int $x, int $y) Hedef canvas() yöntemi ile belirlenen resimdir.
int $x Tuval resminin yatay düzlemde kaçıncı pikselden karıştırmaya başlayacağıdır.
int $y Tuval resminin dikey düzlemde kaçıncı pikselden karıştırmaya başlayacağıdır.
this source(int $x, int $y) Kaynak mix() yöntemi ile belirlenen resimdir.
int $x Kaynak resimden alınacak kesitin yatay düzlemdeki başlangıç noktası.
int $y Kaynak resimden alınacak kesitin dikey düzlemdeki başlangıç noktası.
this width(int $width) Kaynak resimden alınacak kesitin genişliği.
this height(int $height) Kaynak resimden alınacak kesitin yüksekliği.
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
   ->target(50, 50)
   ->source(300, 450)
   ->width(200)
   ->height(200)
   ->copy(RESOURCES_DIR . 'wallpaper2.jpg')
   ->generate('png');

 

 

# Resample / Resize (ZN >= 3.0.0)


Resmin bir parçasını örnekleyerek kopyalar ve boyutlandırmak için kullanılır.

Opsiyonel Yöntemler
this target(int $x, int $y) Hedef canvas() yöntemi ile belirlenen resimdir.
int $x Tuval resminin yatay düzlemde kaçıncı pikselden karıştırmaya başlayacağıdır.
int $y Tuval resminin dikey düzlemde kaçıncı pikselden karıştırmaya başlayacağıdır.
this source(int $x, int $y) Kaynak mix() yöntemi ile belirlenen resimdir.
int $x Kaynak resimden alınacak kesitin yatay düzlemdeki başlangıç noktası.
int $y Kaynak resimden alınacak kesitin dikey düzlemdeki başlangıç noktası.
this sourceWidth(int $width) Kaynak resimden alınacak kesitin genişliği.
this sourceHeight(int $height) Kaynak resimden alınacak kesitin yüksekliği.
this targetWidth(int $width) Tuval resimden alınacak kesitin genişliği.
this targetHeight(int $height) Tuval resimden alınacak kesitin yüksekliği.
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->target(50, 50)
  ->source(300, 450)
  ->targetWidth(300)
  ->targetHeight(300)
  ->sourceWidth(10)
  ->sourceHeight(10)
  ->resample(RESOURCES_DIR . 'wallpaper2.jpg')
  ->generate('png');

 

 

# Crop (ZN >= 3.0.0)


Resmin bir parçasını almak için kullanılır.

Opsiyonel Yöntemler
this x(int $x) Kesit almaya yatay düzlemde kaçıncı pikselden başlanacağıdır.
this y(int $y) Kesit almaya dikey düzlemde kaçıncı pikselden başlanacağıdır.
this width(int $width) Tuval resminden alınacak kesitin genişliği.
this height(int $height) Tuval resminden alınacak kesitin yüksekliği.
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->x(100)->y(100)->width(100)->height(300)->crop()
  ->generate('png');

 

 

# AutoCrop (ZN >= 3.0.0)


Kullanılabilir modlardan birini kullanarak bir görüntüyü otomatik olarak kırpmak için kullanılır.

Parametreler
string $mode = 'default' Mod.
Seçenekler defaut, threshold, black, white, transparent, sides
float $threshold = .5 Sadece threshold modu ile kullanılabilir. 5: Kırpılacak görüntü rengini ve rengini karşılaştırırken kullanılacak yüzde cinsinden toleransı belirtir.
int $color = -1 Sadece threshold modu ile kullanılabilir. Kırpılacak görüntü rengini ve rengini karşılaştırırken kullanılacak yüzde cinsinden toleransı belirtir.
return this
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->autoCrop('threshold', .5, 255)
  ->generate('png');

 

 

# Quality (ZN >= 3.0.0)


Resmin kalitesini artırmak veya azaltmak için kullanılır.

Parametreler
int $quality Kalite. PNG dosyaları için 0-10, diğerleri için 0-100 aralığında değer kullanılır.
return this
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->quality(5)
  ->generate();

 

 

# Screenshot (ZN >= 3.0.0)


Ekranın tamamının bir görüntüsünü yakalamak için kullanılır.

Parametreler
void
return this
Kullanımı
GD::screenshot()->generate('png');

 

 

# Rotate (ZN >= 3.0.0)


Resmi belirlenen açı ile döndürmek için kullanılır.

Parametreler
float $rotate Döndürülecek açı.
string $spaceColor = '0|0|0' Döndürme işleminden sonra boşta kalan yerin rengi.
int $ignoreTransparent = 0 Sıfırdan farklı bir değer belirtildiğinde şeffaf renkler yok sayılır.
return this
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->rotate(90)
  ->generate();

 

 

# Scale (ZN >= 3.0.0)


Resmi boyutlandırmak için kullanılır.

Parametreler
int $width Yeni genişlik.
int $height = -1 Yeni yükseklik. Bu değer negatif tutulursa yükseklik miktarını genişliğe göre orantılı olarak ayarlayacaktır.
int
$mode = 'bilinear_fixed'
Uygulanacak mod.
Seçenekler bilinear_fixed, nearest_neighbour, bicubic, bicubic_fixed, weighted4
return   this
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->scale(100)
  ->generate();

 

 

# interpolation (ZN >= 3.0.0)


Resme ara değer filtreleme yapmak için kullanılır.

Parametreler
string
$mode = 'bilinear_fixed'
Uygulanacak mod
Seçenekler
  • bell: Bell filtresi.
  • bessel: Bessel filtresi.
  • bicubic: Bikübik enterpolasyonu.
  • bicubic_fixed: Bikübik enterpolasyonun sabit nokta uygulaması.
  • bilinear_fixed: Çift doğrusal enterpolasyonun sabit nokta uygulaması.
  • blackman: Blackman pencere işlevi.
  • box: Kutu bulanıklık filtresi.
  • bspline: Eğri enterpolasyonu.
  • catmullrom: Kübik Hermite eğri enterpolasyonu.
  • gaussian: Gaussian enterpolasyonu.
  • generalized_cubic: Genelleştirilmiş kübik spline fraktal enterpolasyonu.
  • hermite: Hermite enterpolasyonu.
  • hamming: Hamming filtresi.
  • hanning: Hanning filtresi.
  • mitchell: Mitchell filtresi.
  • power: Güç enterpolasyonu.
  • quadratic: Ters ikinci dereceden enterpolasyon.
  • sinc: Sinc function.
  • nearest_neighbour: Nearest neighbour enterpolasyonu.
  • weighted4: Ağırlıklandırma filtresi.
  • triange: Üçgen enterpolasyonu.
return   this
Kullanımı
GD::canvas(RESOURCES_DIR . 'wallpaper.jpg')
  ->interpolation('bell')
  ->generate();

 

 

# LayerEffect (ZN >= 3.0.0)


Katmanlama etkisini kullanmak için alfa harmanlama seçeneğini ayarlar.

Parametreler
string
$effect = 'normal'
Uygulanacak mod
Seçenekler
  • normal: Normal piksel harmanlaması kullanılır.
  • replace: Piksel değiştirme etkisi kullanılır.
  • overlay: Siyah pikseller siyah, beyaz pikseller beyaz olarak kalırken gri artalan pikselleri önalan pikselinin rengini alırlar.
  • multiply: Çarpma etkisi ile üzerini kaplar.
return   this
Kullanımı
 GD::canvas('fill-300-300.png', 100, 200)
   ->imagelayereffect('replace')
   ->generate('png');

 

 

# Size (ZN >= 3.0.0)


Resmin boyutu ve türü ile ilgili veriler döndürür.

Parametreler
string $file Resim dosyasının yolu.
return object
Kullanımı
output( GD::size('path/image.jpg') );
(object)
[
    'width'     => 300,
    'height'    => 300,
    'mime'      => 'image/png',
    'extension' => '.png',
    'img'       => 'width="300" height="300"',
    'bits'      => 1
]

 

 

# Extension (ZN >= 3.0.0)


Resim türüne göre uzantı döndürür

Parametreler
string $type Resim türü.
return string
Kullanımı
echo GD::extension('png');
.png

 

 

# Mime (ZN >= 3.0.0)


Resim uzantısına göre mime türünü verir.

Parametreler
string $type Resim mime türü.
return string
Kullanımı
echo GD::extension('png');
image/png