Resim İşleme Kütüphanesi


    × Bunları biliyor muydunuz?
"Devtools projesi ile framework kullanma deneyiminizi daha görsel hale getirebilirsiniz."


Resimler üzerinde kesme, kırpma, küçültme gibi tek boyutlu işlem gerçekleştirmek için oluşturulmuştur. Her bir işlem resmin yeni bir kopyasını oluşturur. Bu nedenle bir resme her seferinde sadece bir işlem uygulanabilir. GD:: kütüphanesinden farklı olarak Thumb:: kütüphanesi resmi çekerken üzerinde işlem yapar ve yol bilgisini döndürür. Ve resim işleme işlemini aynı ayarlarla sadece bir kereye mahsus gerçekleştirir. Böylece veritabanından resim bilgilerini çekerken bu kütüphaneyi döngü içerisinde kullanabilirsiniz. Özellikle çekilen resmin boyutunun düşürülmesi gereken durumlarda oldukça kullanışlıdır.

 

 

# Kurulum


ZN SE ve ZN CE dağıtımları için terminal kurulum komutu.

↓ composer require znframework/package-image

 

 

# Yöntemler


3.0.0 String create(String $path = NULL)
3.0.0 This path(String $file)
3.0.0 This quality(Int $quality)
3.0.0 This crop(Int $x, Int $y)
3.0.0 This size(Int $width, Int $height)
3.0.0 This resize(Int $width, Int $height)
3.0.0 This prosize(Int $width, Int $height)
5.7.8 This watermark(String $file, String $align = 'topleft', Int $margin = 0)
5.7.8 This callGDMethod(...$parameters)
5.7.8 This refresh(Void)

 

 

# Create (ZN >= 3.0.0)


Yöntemlerle yapılandırılan resmin boyutlandırma işlemini tamamlamak için kullanılır.

Parametreler
String $path = NULL Resmin yolunu belirtmek için kullanılır. Thumb::path() yönteminin alternatifidir.
Return String
Kullanımı
echo Thumb::path(FILES_DIR . 'images/wallpaper.jpg') 
          ->crop(100, 200)->resize(300, 200) 
          ->create();
https://localhost/develop/Projects/example/Resources/Files/images/thumbs/wallpaper-100x200px-300x200size.jpg
$thumb = Thumb::crop(100, 200)->resize(300, 200)
              ->create(FILES_DIR . 'images/wallpaper.jpg');

echo Html::image($thumb);

 

 

# Path (ZN >= 3.0.0)


Boyutlandırma işleminin hangi resim dosyası üzerinde yapılacağı belirtilir.

Parametreler
String $path Resmin yolunu belirtmek için kullanılır.
Return This
Kullanımı
echo Thumb::path(FILES_DIR . 'images/wallpaper.jpg')
          ->crop(100, 200)->resize(300, 200)
          ->create();
https://localhost/develop/Projects/example/Resources/Files/images/thumbs/wallpaper-100x200px-300x200size.jpg

 

 

# Quality (ZN >= 3.0.0)


Yeni oluşturulan resmin kalitesini belirtmek için kullanılır. 0 - 100 arasında değer alır.

Parametreler
Int $quality Kalite miktarı.
Return This
Kullanımı
$thumbPath = Thumb::path(FILES_DIR . 'images/wallpaper.jpg')
                  ->quality(80)
                  ->crop(100, 200)->resize(300, 200)
                  ->create();

echo Html::image($thumbPath);
$thumb = Thumb::quality(2)
              ->crop(600, 350)->size(300, 300)
              ->create(FILES_DIR . 'images/wallpaper.jpg');

echo Html::image($thumb);

 

 

# Crop (ZN >= 3.0.0)


Boyutlandırma işleminin orjinal resimde kaçıncı piksellerden itibaren başlanacağını belirtmek için kullanılır.

Parametreler
Int $x Yatay düzlemde kaçıncı pikselden başlanacağı.
Int $y Dikey düzlemde kaçıncı pikselden başlanacağı.
Return This
Kullanımı
echo Thumb::path(FILES_DIR . 'images/wallpaper.jpg') 
          ->quality(80)
          ->crop(100, 200)->resize(300, 200) 
          ->create();

 

 

# Size (ZN >= 3.0.0)


Kırpılan resmin genişlik ve yükseklik değerini ayarlamak için kullanılır.

Parametreler
Int $width Genişlik.
Int $height Yükseklik.
Return This
Kullanımı
$thumb = Thumb::quality(80)
              ->crop(600, 300)->size(300, 300)
              ->create(FILES_DIR . 'images/wallpaper.jpg');

echo Html::image($thumb);

 

 

# Resize (ZN >= 3.0.0)


Resmi yeniden boyutlandırma genişliğini ve yüksekliğini ayarlamak için kullanılır.

Parametreler
Int $width Genişlik.
Int $height Yükseklik.
Return This
Kullanımı
$thumb = Thumb::quality(80)
              ->resize(200, 400)
              ->create(FILES_DIR . 'images/wallpaper.jpg');

echo Html::image($thumb);

 

 

# Prosize (ZN >= 3.0.0)


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

Parametreler
Int $width Genişlik değerine göre orantılamak için sadece 1. parametreyi kullanın.
Int $height Yükseklik değerine göre orantılamak için 1. parametreyi 0, 2. parametreyi orantılamak istediğiniz değer olarak ayarlayın.
Return This
Kullanımı

Yükseklik değerine göre orantılamak için 1. parametre 0 ayarlanır.

$thumb = Thumb::quality(80)
              ->crop(100, 200)->prosize(0, 200)
              ->create(FILES_DIR . 'images/wallpaper.jpg');

echo Html::image($thumb);

Genişlik değerine göre orantılamak için sadece 1. parametreyi kullanın.

$thumb = Thumb::quality(80)
              ->crop(100, 200)->prosize(200)
              ->create(FILES_DIR . 'images/wallpaper.jpg');

echo Html::image($thumb);

 

 

# Watermark (ZN >= 5.7.8)


Resim üzerine başka bir resmi yerleştirmek için kullanılır.

Parametreler
5.7.8 String $file Genişlik.
5.7.8 String $align = 'topleft' Üste gelecek resmin konumu
Seçenekler topLeft, topCenter, topRight
middleLeft, center, middleRight
bottomLeft, bottomCenter, bottomRight 
5.7.8 Int $margin = 0 Kenar boşluğu.
Return This
Kullanımı
$thumb = Thumb::prosize(0, 200)
              ->watermark(FILES_DIR . 'watermark.jpg', 'center')
              ->create(FILES_DIR . 'wallpaper1.jpg');

echo Html::image($thumb);

Üsteki resmin görünüm oranını ayarlamak için Thumb::percent() yöntemini kullanabilirsiniz.

$thumb = Thumb::prosize(0, 200)
              ->percent(50)->watermark(FILES_DIR . 'watermark.jpg', 'center')
              ->create(FILES_DIR . 'wallpaper1.jpg');

echo Html::image($thumb);

Thumb::percent() kullanımında bilinmesi gereken Thumb::watermark() yönteminden önce devreye sokulması gerektiğidir.

 

 

# CallGDMethod (ZN >= 5.7.8)


GD:: kütüphanesinin yöntemleri artık bu kütüphane ile birlikte kullanılabilir.

Parametreler
5.7.8 Mixed ...$parameters Parameterler.
Return This
Kullanımı
$thumb = Thumb::prosize(0, 200)
              ->percent(30)->target('center')->mix('watermark.jpg')
              ->convolution([ [2, 0, 0], [0, -1, 0], [0, 0, -1] ], 1, 127)
              ->create('wallpaper1.jpg');

echo Html::image($thumb);

 

 

# Refresh (ZN >= 5.7.8)


Resim oluşturma işlemini yenilemek için kullanılır. Özellikle daha önce thumb dosyası oluşturulmuş resmin yeni özellikler eklenmiş bir şekilde tekrar thumb dosyasının oluşturulması gereken durumlarda kullanılır.

Parametreler
Void
Return This
Kullanımı
$thumb = Thumb::prosize(0, 200)
              ->refresh()
              ->negate()
              ->grayscale()
              ->percent(80)->target('middleLeft')->mix('watermark.jpg')
              ->convolution([ [2, 0, 0], [0, -1, 0], [0, 0, -1] ], 1, 127)  
              ->create('wallpaper1.jpg');

echo Html::image($thumb);

 

 

# Orjinal Resimden Türetilen Resimler


Yukarıdaki her bir biçimlendirme ve boyutlandırma işlemi orjinal resimden yeni bir resim üretir. Siz yol olarak orjinal dosya yolunu gösterirsiniz kütüphane belirtilen özelliklere göre uygun olana resmi getirir.