PHP 8.4.1 Released!

imagesetinterpolation

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagesetinterpolationAra değerleme yöntemini tanımlar

Açıklama

imagesetinterpolation(GdImage $görüntü, int $yöntem = IMG_BILINEAR_FIXED): bool

Ara değerleme yöntemini tanımlar. Atanan ara değerleme yöntemi imagerotate() gibi çeşitli GD işlevlerini etkiler.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

yöntem

Ara değerleme yöntemi şunlaredan biri olabilir:

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagesetinterpolation() örneği

<?php
// Görüntüyü yükle
$görüntü = imagecreate(500, 500);

// Öntanımlı ara değerleme: IMG_BILINEAR_FIXED
// 'Mitchell' süzgecine geç:
imagesetinterpolation($görüntü, IMG_MITCHELL);

// $görüntü ile çalışmaya devam...
?>

Notlar

Ara değerleme yöntemini değiştirmek, işlem sırasında aşağıdaki işlevleri etkiler:

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
-1
shaun at slickdesign dot com dot au
6 years ago
Setting the interpolation does not carry through to any images created by imageaffine() or imagerotate(). It defaults to IMG_BILINEAR_FIXED and would need to be set on each generated image as required.

<?php
imagesetinterpolation
( $image, IMG_NEAREST_NEIGHBOUR );

// Rotated using IMG_NEAREST_NEIGHBOUR
$rotated = imagerotate( $image, 45, $transparent );

// Rotated using IMG_BILINEAR_FIXED
$rotated_again = imagerotate( $rotated, 45, $transparent );
?>

Setting the interpolation to IMG_NEAREST_NEIGHBOUR can help to preserve details and prevent sampling issues when rotating an image at 90 degree increments, including when rotating clockwise.

<?php
// Rotated image can appear blurred and on a slight angle.
$rotated = imagerotate( $image, -360, $transparent );

// Similar to starting Image although it may still show a background or be on a slight angle.
imagesetinterpolation( $image, IMG_NEAREST_NEIGHBOUR );
$rotated = imagerotate( $image, -360, $transparent );
?>
To Top