Λειτουργίες εικόνας

Η κλάση Nette\Utils\Image απλοποιεί την επεξεργασία εικόνων, όπως η αλλαγή μεγέθους, η περικοπή, η όξυνση, η σχεδίαση ή η συγχώνευση πολλαπλών εικόνων.

Η PHP διαθέτει ένα εκτεταμένο σύνολο λειτουργιών για την επεξεργασία εικόνων. Αλλά το API δεν είναι πολύ ωραίο. Δεν θα ήταν ένα Neat Framework να δημιουργήσει ένα σέξι API.

Εγκατάσταση:

composer require nette/utils

Τα ακόλουθα παραδείγματα υποθέτουν ότι έχει οριστεί το ακόλουθο ψευδώνυμο κλάσης:

use Nette\Utils\Image;

Δημιουργία εικόνας

Θα δημιουργήσουμε μια νέα έγχρωμη εικόνα, για παράδειγμα με διαστάσεις 100×200:

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

Προαιρετικά, μπορείτε να καθορίσετε ένα χρώμα φόντου (το προεπιλεγμένο είναι μαύρο):

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

Ή φορτώνουμε την εικόνα από ένα αρχείο:

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

Πρέπει να ανιχνεύσετε τη μορφή εικόνας κατά τη φόρτωση; Η μέθοδος επιστρέφει τη μορφή στη δεύτερη παράμετρο:

$image = Image::fromFile('nette.jpg', $type);
// $type είναι Image::JPEG, Image::PNG, Image::GIF, Image::WEBP ή Image::BMP

Η ανίχνευση χωρίς φόρτωση πραγματοποιείται από το Image::detectTypeFromFile() μπορεί να χρησιμοποιηθεί.

Αποθήκευση της εικόνας

Η εικόνα μπορεί να αποθηκευτεί σε αρχείο:

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

Μπορούμε να καθορίσουμε την ποιότητα συμπίεσης στο εύρος 0..100 για JPEG (προεπιλογή 85) και WEBP (προεπιλογή 80) και 0..9 για PNG (προεπιλογή 9):

$image->save('resampled.jpg', 80); // JPEG, ποιότητα 80%

Εάν η μορφή δεν είναι προφανής από την επέκταση του αρχείου, μπορείτε να την καθορίσετε με μία από τις σταθερές Image::JPEG, Image::PNG, Image::GIF, Image::WEBP και Image::BMP:

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

Η εικόνα μπορεί να εγγραφεί σε μια μεταβλητή αντί στο δίσκο:

$data = $image->toString(Image::JPEG, 80); // JPEG, ποιότητα 80%

ή να στείλετε απευθείας στο πρόγραμμα περιήγησης με την κατάλληλη επικεφαλίδα HTTP Content-Type:

// στέλνει επικεφαλίδα Content-Type: image/png
$image->send(Image::PNG);

Αλλαγή μεγέθους εικόνας

Μια συνηθισμένη λειτουργία είναι η αλλαγή μεγέθους μιας εικόνας. Οι τρέχουσες διαστάσεις επιστρέφονται από τις μεθόδους getWidth() και getHeight().

Η μέθοδος resize() χρησιμοποιείται για την αλλαγή μεγέθους. Αυτό είναι παράδειγμα αναλογικής αλλαγής του μεγέθους ώστε να μην υπερβαίνει τα 500×300 pixels (είτε το πλάτος θα είναι ακριβώς 500px είτε το ύψος θα είναι ακριβώς 300px, μία από τις διαστάσεις υπολογίζεται για να διατηρηθεί η αναλογία διαστάσεων):

$image->resize(500, 300);

Είναι δυνατόν να ορίσετε μόνο μία διάσταση και η δεύτερη θα υπολογιστεί:

$image->resize(500, null); // πλάτος 500px, ύψος auto

$image->resize(null, 300); // πλάτος auto, ύψος 300px

Οποιαδήποτε διάσταση μπορεί να καθοριστεί σε ποσοστά:

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

Η συμπεριφορά του resize μπορεί να επηρεαστεί από τις ακόλουθες σημαίες. Όλα εκτός από το Image::Stretch διατηρούν την αναλογία διαστάσεων.

Σημαία Περιγραφή
Image::OrSmaller (προεπιλογή) οι διαστάσεις που θα προκύψουν θα είναι μικρότερες ή ίσες με τις καθορισμένες
Image::OrBigger γεμίζει την περιοχή στόχου και ενδεχομένως την επεκτείνει προς μία κατεύθυνση
Image::Cover γεμίζει όλη την περιοχή και κόβει ό,τι την υπερβαίνει
Image::ShrinkOnly Απλά μικραίνει (δεν επεκτείνει μια μικρή εικόνα)
Image::Stretch δεν διατηρεί την αναλογία διαστάσεων

Οι σημαίες περνούν ως τρίτο όρισμα της συνάρτησης:

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

Οι σημαίες μπορούν να συνδυαστούν:

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

Οι εικόνες μπορούν να αναστραφούν κάθετα ή οριζόντια καθορίζοντας μία από τις διαστάσεις (ή και τις δύο) ως αρνητικό αριθμό:

$flipped = $image->resize(null, '-100%'); // αναστροφή κάθετη

$flipped = $image->resize('-100%', '-100%'); // περιστροφή κατά 180°

$flipped = $image->resize(-125, 500); // αλλαγή μεγέθους & αναστροφή οριζόντια

Μετά τη μείωση της εικόνας μπορούμε να τη βελτιώσουμε με την όξυνση:

$image->sharpen();

Κοπή

Η μέθοδος crop() χρησιμοποιείται για την καλλιέργεια:

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

Όπως και με το resize(), όλες οι τιμές μπορούν να καθοριστούν σε ποσοστά. Τα ποσοστά για τα $left και $top υπολογίζονται από τον υπόλοιπο χώρο, παρόμοια με την ιδιότητα της CSS background-position:

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

Η εικόνα μπορεί επίσης να περικοπεί αυτόματα, π.χ. περικοπή μαύρων άκρων:

$image->cropAuto(IMG_CROP_BLACK);

Η μέθοδος cropAuto() είναι μια ενθυλάκωση αντικειμένου της συνάρτησης imagecropauto(), δείτε την τεκμηρίωσή της για περισσότερες πληροφορίες.

Σχεδίαση και επεξεργασία

Μπορείτε να σχεδιάσετε, να γράψετε, να χρησιμοποιήσετε όλες τις συναρτήσεις της PHP για την εργασία με εικόνες, όπως η imagefilledellipse(), αλλά χρησιμοποιώντας στυλ αντικειμένου:

$image->filledEllipse($cx, $cy, $width, $height, Image::rgb(255, 0, 0, 63));

Βλέπε Επισκόπηση των μεθόδων.

Συγχώνευση πολλαπλών εικόνων

Μπορείτε εύκολα να τοποθετήσετε μια άλλη εικόνα μέσα στην εικόνα:

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

// οι συντεταγμένες μπορούν να οριστούν επίσης σε ποσοστό
$blank->place($logo, '80%', '80%'); // κοντά στην κάτω δεξιά γωνία

Κατά την επικόλληση, το κανάλι άλφα τηρείται, επιπλέον, μπορούμε να επηρεάσουμε τη διαφάνεια της εισαγόμενης εικόνας (θα δημιουργήσουμε ένα λεγόμενο υδατογράφημα):

$blank->place($image, '80%', '80%', 25); // η διαφάνεια είναι 25 %

Ένα τέτοιο API είναι πραγματικά ευχάριστο στη χρήση, έτσι δεν είναι;

Επισκόπηση των μεθόδων

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

Δημιουργεί μια νέα έγχρωμη εικόνα με τις δεδομένες διαστάσεις. Το προεπιλεγμένο χρώμα είναι το μαύρο.

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

Διαβάζει μια εικόνα από ένα αρχείο και επιστρέφει τον τύπο της σε $detectedFormat. Οι υποστηριζόμενοι τύποι είναι Image::JPEG, Image::PNG, Image::GIF, Image::WEBP και Image::BMP.

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

Διαβάζει μια εικόνα από μια συμβολοσειρά και επιστρέφει τον τύπο της σε $detectedFormat. Οι υποστηριζόμενοι τύποι είναι Image::JPEG, Image::PNG, Image::GIF, Image::WEBP και Image::BMP.

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

Δημιουργεί ένα χρώμα που μπορεί να χρησιμοποιηθεί σε άλλες μεθόδους, όπως οι ellipse(), fill() κ.ο.κ.

static typeToExtension(int $type)string

Επιστρέφει την επέκταση αρχείου για τη δεδομένη σταθερά Image::XXX.

static typeToMimeType(int $type)string

Επιστρέφει τον τύπο mime για τη δεδομένη σταθερά Image::XXX.

static extensionToType(string $extension)int

Επιστρέφει τον τύπο της εικόνας ως σταθερά Image::XXX σύμφωνα με την επέκταση του αρχείου.

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

Επιστρέφει τον τύπο του αρχείου εικόνας ως σταθερά Image::XXX και στις παραμέτρους $width και $height επίσης τις διαστάσεις του.

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

Επιστρέφει τον τύπο της εικόνας από τη συμβολοσειρά ως σταθερά Image::XXX και στις παραμέτρους $width και $height επίσης τις διαστάσεις της.

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

Επιστρέφει μια εικόνα που περιέχει την affine μετασχηματισμένη εικόνα src, χρησιμοποιώντας μια προαιρετική περιοχή αποκοπής. (περισσότερα).

affineMatrixConcat(array $m1, array $m2)array

Επιστρέφει τη συνένωση δύο πινάκων μετασχηματισμού affine, η οποία είναι χρήσιμη εάν πρέπει να εφαρμοστούν πολλαπλοί μετασχηματισμοί στην ίδια εικόνα με μία κίνηση. (περισσότερα)

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

Επιστρέφει έναν πίνακα μετασχηματισμού affine. (περισσότερα)

alphaBlending(bool $on): void

Επιτρέπει δύο διαφορετικούς τρόπους σχεδίασης σε εικόνες truecolor. Στη λειτουργία ανάμειξης, η συνιστώσα του καναλιού άλφα του χρώματος που παρέχεται σε όλες τις λειτουργίες σχεδίασης, όπως το setPixel(), καθορίζει πόσο από το υποκείμενο χρώμα θα πρέπει να επιτρέπεται να διαφαίνεται. Ως αποτέλεσμα, αναμειγνύει αυτόματα το υπάρχον χρώμα στο συγκεκριμένο σημείο με το χρώμα του σχεδίου και αποθηκεύει το αποτέλεσμα στην εικόνα. Το εικονοστοιχείο που προκύπτει είναι αδιαφανές. Στη λειτουργία μη ανάμειξης, το χρώμα σχεδίασης αντιγράφεται κυριολεκτικά με τις πληροφορίες του καναλιού άλφα, αντικαθιστώντας το εικονοστοιχείο προορισμού. Η λειτουργία ανάμειξης δεν είναι διαθέσιμη όταν σχεδιάζετε σε εικόνες παλέτας. (περισσότερα)

antialias(bool $on): void

Ενεργοποιήστε τις γρήγορες μεθόδους αντιδιαμετρικής σχεδίασης για γραμμές και καλωδιωμένα πολύγωνα. Δεν υποστηρίζει στοιχεία άλφα. Λειτουργεί με απευθείας ανάμειξη. Λειτουργεί μόνο με truecolor εικόνες.

Η χρήση primitives με αντιδιαμετρική απεικόνιση και διαφανές χρώμα φόντου μπορεί να οδηγήσει σε απροσδόκητα αποτελέσματα. Η μέθοδος ανάμειξης χρησιμοποιεί το χρώμα φόντου όπως όλα τα άλλα χρώματα. Η έλλειψη υποστήριξης του συστατικού άλφα δεν επιτρέπει μια μέθοδο αντιδιαστολής με βάση το άλφα. (περισσότερα)

arc(int $x, int $y, int $w, int $h, int $start, int $end, int $color)void

Σχεδιάζει ένα τόξο κύκλου με κέντρο τις δεδομένες συντεταγμένες. (περισσότερα)

char(int $font, int $x, int $y, string $char, int $color)void

Σχεδιάζει τον πρώτο χαρακτήρα του $char στην εικόνα με το πάνω αριστερό μέρος του στο $x,$y (το πάνω αριστερό μέρος είναι 0, 0) με το χρώμα $color. (περισσότερα)

charUp(int $font, int $x, int $y, string $char, int $color)void

Σχεδιάζει τον χαρακτήρα $char κάθετα στην καθορισμένη συντεταγμένη της δεδομένης εικόνας. (περισσότερα)

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

Επιστρέφει ένα αναγνωριστικό χρώματος που αντιπροσωπεύει το χρώμα που αποτελείται από τις δεδομένες συνιστώσες RGB. Πρέπει να κληθεί για να δημιουργήσει κάθε χρώμα που πρόκειται να χρησιμοποιηθεί στην εικόνα. (περισσότερα)

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

Συμπεριφέρεται πανομοιότυπα με το colorAllocate() με την προσθήκη της παραμέτρου διαφάνειας $alpha. (περισσότερα)

colorAt(int $x, int $y)int

Επιστρέφει τον δείκτη του χρώματος του εικονοστοιχείου στην καθορισμένη θέση στην εικόνα. Εάν η εικόνα είναι εικόνα πραγματικών χρωμάτων, η συνάρτηση αυτή επιστρέφει την τιμή RGB του συγκεκριμένου εικονοστοιχείου ως ακέραιο αριθμό. Χρησιμοποιήστε bitshifting και masking για να αποκτήσετε πρόσβαση στις ξεχωριστές τιμές των κόκκινων, πράσινων και μπλε συνιστωσών: (περισσότερα)

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

Επιστρέφει τον δείκτη του χρώματος στην παλέτα της εικόνας που είναι πιο κοντά στην καθορισμένη τιμή RGB. Η “απόσταση” μεταξύ του επιθυμητού χρώματος και κάθε χρώματος στην παλέτα υπολογίζεται σαν οι τιμές RGB να αντιπροσωπεύουν σημεία στον τρισδιάστατο χώρο. (περισσότερα)

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

Επιστρέφει τον δείκτη του χρώματος στην παλέτα της εικόνας που είναι “πιο κοντά” στην καθορισμένη τιμή RGB και το επίπεδο $alpha. (περισσότερα)

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

Λήψη του δείκτη του χρώματος που έχει την απόχρωση, το λευκό και το μαύρο που είναι πλησιέστερα στο δεδομένο χρώμα. (περισσότερα)

colorDeallocate(int $color)void

Αποδεσμεύει ένα χρώμα που είχε προηγουμένως εκχωρηθεί με το colorAllocate() ή το colorAllocateAlpha(). (περισσότερα)

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

Επιστρέφει το δείκτη του καθορισμένου χρώματος στην παλέτα της εικόνας. (περισσότερα)

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

Επιστρέφει το δείκτη του καθορισμένου χρώματος+άλφα στην παλέτα της εικόνας. (περισσότερα)

colorMatch(Image $image2)void

Κάνει τα χρώματα της έκδοσης παλέτας μιας εικόνας να ταιριάζουν περισσότερο με την έκδοση πραγματικών χρωμάτων. (περισσότερα)

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

Επιστρέφει έναν δείκτη χρώματος για ένα ζητούμενο χρώμα, είτε το ακριβές χρώμα είτε την πλησιέστερη δυνατή εναλλακτική λύση. (περισσότερα)

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

Επιστρέφει έναν δείκτη χρώματος για ένα ζητούμενο χρώμα, είτε το ακριβές χρώμα είτε την πλησιέστερη δυνατή εναλλακτική λύση. (περισσότερα)

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

Αυτό θέτει τον καθορισμένο δείκτη στην παλέτα στο καθορισμένο χρώμα. (περισσότερα)

colorsForIndex(int $index)array

Λαμβάνει το χρώμα για έναν καθορισμένο δείκτη. (περισσότερα)

colorsTotal(): int

Επιστρέφει τον αριθμό των χρωμάτων σε μια παλέτα εικόνας (more).

colorTransparent(int $color=null)int

Λαμβάνει ή ορίζει το διαφανές χρώμα της εικόνας. (περισσότερα)

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

Εφαρμόζει έναν πίνακα συνέλιξης στην εικόνα, χρησιμοποιώντας τον δεδομένο συντελεστή και τη μετατόπιση. (περισσότερα)

Απαιτεί Επέκταση GD, οπότε δεν είναι σίγουρο ότι θα λειτουργήσει παντού.

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

Αντιγράφει ένα τμήμα του $src στην εικόνα ξεκινώντας από τις συντεταγμένες $srcX, $srcY με πλάτος $srcW και ύψος $srcH. Το καθορισμένο τμήμα θα αντιγραφεί στις συντεταγμένες, $dstX και $dstY. (περισσότερα)

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

Αντιγράφει ένα τμήμα του $src στην εικόνα ξεκινώντας από τις συντεταγμένες $srcX, $srcY με πλάτος $srcW και ύψος $srcH. Το καθορισμένο τμήμα θα αντιγραφεί στις συντεταγμένες, $dstX και $dstY. (περισσότερα)

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

Αντιγράφει ένα τμήμα του $src στην εικόνα ξεκινώντας από τις συντεταγμένες $srcX, $srcY με πλάτος $srcW και ύψος $srcH. Το καθορισμένο τμήμα θα αντιγραφεί στις συντεταγμένες, $dstX και $dstY.

Αυτή η λειτουργία είναι πανομοιότυπη με τη λειτουργία copyMerge(), με τη διαφορά ότι κατά τη συγχώνευση διατηρεί την απόχρωση της πηγής μετατρέποντας τα εικονοστοιχεία προορισμού σε κλίμακα του γκρι πριν από τη λειτουργία αντιγραφής. (περισσότερα)

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

Αντιγράφει ένα ορθογώνιο τμήμα μιας εικόνας σε μια άλλη εικόνα, παρεμβάλλοντας ομαλά τις τιμές των εικονοστοιχείων, έτσι ώστε, ειδικότερα, κατά τη μείωση του μεγέθους μιας εικόνας να διατηρείται μεγάλη ευκρίνεια.

Με άλλα λόγια, το copyResampled() θα πάρει μια ορθογώνια περιοχή από το $src πλάτους $srcW και ύψους $srcH στη θέση ($srcX,$srcY) και θα την τοποθετήσει σε μια ορθογώνια περιοχή της εικόνας πλάτους $dstW και ύψους $dstH στη θέση ($dstX,$dstY).

Εάν οι συντεταγμένες πηγής και προορισμού και τα πλάτη και ύψη διαφέρουν, θα πραγματοποιηθεί η κατάλληλη επιμήκυνση ή συρρίκνωση του τμήματος εικόνας. Οι συντεταγμένες αναφέρονται στην επάνω αριστερή γωνία. Αυτή η λειτουργία μπορεί να χρησιμοποιηθεί για την αντιγραφή περιοχών εντός της ίδιας εικόνας, αλλά αν οι περιοχές επικαλύπτονται, τα αποτελέσματα θα είναι απρόβλεπτα. (περισσότερα)

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

Αντιγράφει ένα ορθογώνιο τμήμα μιας εικόνας σε μια άλλη εικόνα. Με άλλα λόγια, το copyResized() θα πάρει μια ορθογώνια περιοχή από το $src πλάτους $srcW και ύψους $srcH στη θέση ($srcX,$srcY) και θα την τοποθετήσει σε μια ορθογώνια περιοχή της εικόνας πλάτους $dstW και ύψους $dstH στη θέση ($dstX,$dstY).

Εάν οι συντεταγμένες πηγής και προορισμού και τα πλάτη και ύψη διαφέρουν, θα πραγματοποιηθεί η κατάλληλη επιμήκυνση ή συρρίκνωση του τμήματος εικόνας. Οι συντεταγμένες αναφέρονται στην επάνω αριστερή γωνία. Αυτή η λειτουργία μπορεί να χρησιμοποιηθεί για την αντιγραφή περιοχών εντός της ίδιας εικόνας, αλλά αν οι περιοχές επικαλύπτονται, τα αποτελέσματα θα είναι απρόβλεπτα. (περισσότερα)

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

Περικόπτει μια εικόνα στη δεδομένη ορθογώνια περιοχή. Οι διαστάσεις μπορούν να μεταβιβαστούν ως ακέραιοι αριθμοί σε pixels ή συμβολοσειρές σε ποσοστό (π.χ. '50%').

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

Αυτόματη περικοπή μιας εικόνας σύμφωνα με το δεδομένο $mode. (περισσότερα)

ellipse(int $cx, int $cy, int $w, int $h, int $color)void

Σχεδιάζει μια έλλειψη με κέντρο τις καθορισμένες συντεταγμένες. (περισσότερα)

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

Εκτελεί ένα γέμισμα πλημμύρας με αφετηρία τη δεδομένη συντεταγμένη (πάνω αριστερά είναι 0, 0) με το δεδομένο $color στην εικόνα. (περισσότερα)

filledArc(int $cx, int $cy, int $w, int $h, int $s, int $e, int $color, int $style)void

Σχεδιάζει ένα μερικό τόξο με κέντρο την καθορισμένη συντεταγμένη στην εικόνα. (περισσότερα)

filledEllipse(int $cx, int $cy, int $w, int $h, int $color)void

Σχεδιάζει μια έλλειψη με κέντρο την καθορισμένη συντεταγμένη στην εικόνα. (περισσότερα)

filledPolygon(array $points, int $numPoints, int $color)void

Δημιουργεί ένα γεμάτο πολύγωνο στην εικόνα $image. (περισσότερα)

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

Δημιουργεί ένα ορθογώνιο γεμάτο με το $color στην εικόνα που ξεκινά από το σημείο 1 και καταλήγει στο σημείο 2. 0, 0 είναι η επάνω αριστερή γωνία της εικόνας. (περισσότερα)

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

Εκτελεί ένα γέμισμα πλημμύρας του οποίου το χρώμα των ορίων ορίζεται από το $border. Το σημείο εκκίνησης για το γέμισμα είναι $x, $y (πάνω αριστερά είναι 0, 0) και η περιοχή γεμίζεται με το χρώμα $color. (περισσότερα)

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

Εφαρμόζει το συγκεκριμένο φίλτρο $filtertype στην εικόνα. (περισσότερα)

flip(int $mode): void

Αναποδογυρίζει την εικόνα χρησιμοποιώντας το δεδομένο $mode. (περισσότερα)

ftText(int $size, int $angle, int $x, int $y, int $col, string $fontFile, string $text, array $extrainfo=null)array

Γράψτε κείμενο στην εικόνα χρησιμοποιώντας γραμματοσειρές με το FreeType 2. (περισσότερα)

gammaCorrect(float $inputgamma, float $outputgamma)void

Εφαρμόζει διόρθωση γάμμα στην εικόνα με δεδομένο ένα γάμμα εισόδου και ένα γάμμα εξόδου. (περισσότερα)

getClip(): array

Ανακτά το τρέχον ορθογώνιο αποκοπής, δηλαδή την περιοχή πέρα από την οποία δεν θα σχεδιαστεί κανένα εικονοστοιχείο. (περισσότερα)

getHeight(): int

Επιστρέφει το ύψος της εικόνας.

getImageResource(): resource|GdImage

Επιστρέφει τον αρχικό πόρο.

getWidth(): int

Επιστρέφει το πλάτος της εικόνας.

interlace(int $interlace=null)int

Ενεργοποιεί ή απενεργοποιεί το bit interlace. Εάν το bit interlace είναι ρυθμισμένο και η εικόνα χρησιμοποιείται ως εικόνα JPEG, η εικόνα δημιουργείται ως προοδευτικό JPEG. (περισσότερα)

isTrueColor(): bool

Βρίσκει αν η εικόνα είναι truecolor. (περισσότερα)

layerEffect(int $effect)void

Ορίστε τη σημαία ανάμειξης άλφα για να χρησιμοποιήσετε εφέ διαστρωμάτωσης. (περισσότερα)

line(int $x1, int $y1, int $x2, int $y2, int $color)void

Σχεδιάζει μια γραμμή μεταξύ των δύο δοσμένων σημείων. (περισσότερα)

openPolygon(array $points, int $numPoints, int $color)void

Σχεδιάζει ένα ανοιχτό πολύγωνο στην εικόνα. Σε αντίθεση με το polygon(), δεν χαράσσεται γραμμή μεταξύ του τελευταίου και του πρώτου σημείου. (περισσότερα)

paletteCopy(Image $source)void

Αντιγράφει την παλέτα από το $source στην εικόνα. (περισσότερα)

paletteToTrueColor(): void

Μετατρέπει μια εικόνα βασισμένη σε παλέτα, που δημιουργείται από συναρτήσεις όπως η create() σε μια εικόνα πραγματικού χρώματος, όπως η createtruecolor(). (περισσότερα)

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

Αντιγράφει το $image στην εικόνα στις συντεταγμένες $left και $top. Οι συντεταγμένες μπορούν να μεταβιβαστούν ως ακέραιοι αριθμοί σε pixels ή συμβολοσειρές σε ποσοστό (π.χ. '50%').

polygon(array $points, int $numPoints, int $color)void

Δημιουργεί ένα πολύγωνο στην εικόνα. (περισσότερα)

rectangle(int $x1, int $y1, int $x2, int $y2, int $col)void

Δημιουργεί ένα ορθογώνιο που ξεκινά από τις καθορισμένες συντεταγμένες. (περισσότερα)

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

Κλιμακώνει μια εικόνα, δείτε περισσότερες πληροφορίες. Οι διαστάσεις μπορούν να μεταβιβαστούν ως ακέραιοι αριθμοί σε pixels ή συμβολοσειρές σε ποσοστό (π.χ. '50%').

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

Επιτρέπει τον ορισμό και τη λήψη της ανάλυσης μιας εικόνας σε DPI (κουκκίδες ανά ίντσα). Εάν δεν δοθεί καμία από τις προαιρετικές παραμέτρους, η τρέχουσα ανάλυση επιστρέφεται ως πίνακας με ευρετήριο. Αν δοθεί μόνο η τιμή $resX, η οριζόντια και η κάθετη ανάλυση καθορίζονται σε αυτή την τιμή. Εάν δίνονται και οι δύο προαιρετικές παράμετροι, η οριζόντια και η κατακόρυφη ανάλυση τίθενται σε αυτές τις τιμές, αντίστοιχα.

Η ανάλυση χρησιμοποιείται μόνο ως μεταπληροφορία όταν οι εικόνες διαβάζονται και εγγράφονται σε μορφές που υποστηρίζουν τέτοιου είδους πληροφορίες (επί του παρόντος PNG και JPEG). Δεν επηρεάζει καμία λειτουργία σχεδίασης. Η προεπιλεγμένη ανάλυση για νέες εικόνες είναι 96 DPI. (περισσότερα)

rotate(float $angle, int $backgroundColor)Image

Περιστρέφει την εικόνα χρησιμοποιώντας το δεδομένο $angle σε μοίρες. Το κέντρο περιστροφής είναι το κέντρο της εικόνας και η περιστρεφόμενη εικόνα μπορεί να έχει διαφορετικές διαστάσεις από την αρχική εικόνα. (περισσότερα)

Απαιτεί Επέκταση GD, οπότε δεν είναι σίγουρο ότι θα λειτουργήσει παντού.

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

Αποθηκεύει μια εικόνα σε ένα αρχείο.

Η ποιότητα συμπίεσης κυμαίνεται στο εύρος 0..100 για τα JPEG (προεπιλογή 85) και WEBP (προεπιλογή 80) και 0..9 για το PNG (προεπιλογή 9). Εάν ο τύπος δεν είναι προφανής από την επέκταση του αρχείου, μπορείτε να τον προσδιορίσετε με μία από τις σταθερές Image::JPEG, Image::PNG, Image::GIF, Image::WEBP και Image::BMP.

saveAlpha(bool $saveflag)void

Ορίζει τη σημαία που καθορίζει αν θα διατηρούνται οι πλήρεις πληροφορίες του καναλιού άλφα (σε αντίθεση με τη διαφάνεια ενός χρώματος) κατά την αποθήκευση εικόνων PNG.

Το Alphablending πρέπει να είναι απενεργοποιημένο (alphaBlending(false)) για να διατηρηθεί το κανάλι άλφα εξαρχής. (περισσότερα)

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

Κλιμακώνει μια εικόνα χρησιμοποιώντας τον δεδομένο αλγόριθμο παρεμβολής. (περισσότερα)

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

Εκδίδει μια εικόνα στο πρόγραμμα περιήγησης.

Η ποιότητα συμπίεσης κυμαίνεται στο εύρος 0..100 για τα JPEG (προεπιλογή 85) και WEBP (προεπιλογή 80) και 0..9 για το PNG (προεπιλογή 9). Ο τύπος είναι μία από τις σταθερές Image::JPEG, Image::PNG, Image::GIF, Image::WEBP και Image::BMP.

setBrush(Image $brush)void

Ορίζει την εικόνα πινέλου που θα χρησιμοποιείται από όλες τις λειτουργίες σχεδίασης γραμμών (όπως οι line() και polygon()) όταν σχεδιάζεται με τα ειδικά χρώματα IMG_COLOR_BRUSHED ή IMG_COLOR_STYLEDBRUSHED. (περισσότερα)

setClip(int $x1, int $y1, int $x2, int $y2)void

Ορίζει το τρέχον ορθογώνιο αποκοπής, δηλαδή την περιοχή πέρα από την οποία δεν θα σχεδιάζονται εικονοστοιχεία. (περισσότερα)

setInterpolation(int $method=IMG_BILINEAR_FIXED)void

Ορίζει τη μέθοδο παρεμβολής, η οποία επηρεάζει τις μεθόδους rotate() και affine(). (περισσότερα)

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

Σχεδιάζει ένα εικονοστοιχείο στην καθορισμένη συντεταγμένη. (περισσότερα)

setStyle(array $style)void

Ορίζει το στυλ που θα χρησιμοποιείται από όλες τις λειτουργίες σχεδίασης γραμμών (όπως οι line() και polygon()) όταν σχεδιάζονται με το ειδικό χρώμα IMG_COLOR_STYLED ή γραμμές εικόνων με χρώμα IMG_COLOR_STYLEDBRUSHED. (περισσότερα)

setThickness(int $thickness)void

Ορίζει το πάχος των γραμμών που σχεδιάζονται κατά τη σχεδίαση ορθογωνίων, πολυγώνων, τόξων κ.λπ. σε $thickness pixels. (περισσότερα)

setTile(Image $tile)void

Καθορίζει την εικόνα πλακιδίων που θα χρησιμοποιείται από όλες τις λειτουργίες πλήρωσης περιοχών (όπως οι fill() και filledPolygon()) κατά τη συμπλήρωση με το ειδικό χρώμα IMG_COLOR_TILED.

Το πλακίδιο είναι μια εικόνα που χρησιμοποιείται για να γεμίσει μια περιοχή με ένα επαναλαμβανόμενο μοτίβο. Οποιαδήποτε εικόνα μπορεί να χρησιμοποιηθεί ως πλακίδιο, και με τον καθορισμό του δείκτη διαφανούς χρώματος της εικόνας του πλακιδίου με το colorTransparent(), μπορεί να δημιουργηθεί ένα πλακίδιο που επιτρέπει σε ορισμένα τμήματα της υποκείμενης περιοχής να διαφαίνονται. (περισσότερα)

sharpen(): Image

Οξύνει λίγο την εικόνα.

Απαιτεί Επέκταση GD Bundled, οπότε δεν είναι σίγουρο ότι θα λειτουργήσει παντού.

string(int $font, int $x, int $y, string $str, int $col)void

Σχεδιάζει μια συμβολοσειρά στις δεδομένες συντεταγμένες. (περισσότερα)

stringUp(int $font, int $x, int $y, string $s, int $col)void

Σχεδιάζει μια συμβολοσειρά κάθετα στις δεδομένες συντεταγμένες. (περισσότερα)

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

Εξάγει μια εικόνα σε συμβολοσειρά.

Η ποιότητα συμπίεσης κυμαίνεται στο εύρος 0..100 για τα JPEG (προεπιλογή 85) και WEBP (προεπιλογή 80) και 0..9 για το PNG (προεπιλογή 9). Ο τύπος είναι μία από τις σταθερές Image::JPEG, Image::PNG, Image::GIF, Image::WEBP και Image::BMP.

trueColorToPalette(bool $dither, int $ncolors)void

Μετατρέπει μια εικόνα πραγματικού χρώματος σε εικόνα παλέτας. (περισσότερα)

ttfText(int $size, int $angle, int $x, int $y, int $color, string $fontfile, string $text)array

Γράφει το δεδομένο κείμενο στην εικόνα χρησιμοποιώντας γραμματοσειρές TrueType. (περισσότερα)

έκδοση: 4.0