Forum und email

imagecopyresampled

(PHP 4 >= 4.0.6, PHP 5)

imagecopyresampled — Αντιγράψτε και κάνετε resize μέρος μίας εικόνας με resampling

Περιγραφή

int imagecopyresampled ( resource $dst_im , resource $src_im , int $dstX , int $dstY , int $srcX , int $srcY , int $dstW , int $dstH , int $srcW , int $srcH )

Η συνάρτηση imagecopyresampled() αντιγράφει ένα τμήμα τριγωνικού σχήματος της εικόνας σε μία άλλη εικόνας, παραποιώντας ομαλά της τιμές των pixel έτσι ώστε, ειδικά, όταν μειώνεται το μέγεθος μίας εικόνας να διατηρεί κατά μεγάλο ποσοστό την καθαρότητά της. Η Dst_im είναι η εικόνα προορισμός, ενώ η src_im είναι ο source image identifier. Εάν οι συντεταγμένες, πλάτος και ύψος πηγής και προορισμού διαφέρουν, θα υπάρξει κατάλληλη μεγέθυνση ή σμίκρυνση του τμήματος της εικόνας. Οι συντεταγμένες αναφέρονται στην πάνω αριστερή γωνίας. Αυτή η συνάρτηση μπορεί να χρησιμοποιηθεί για να αντιγράφει περιοχές στην ίδια εικόνα (εάν η dst_im είναι η ίδια με την src_im ), αλλά εάν οι περιοχές αλληλοκαλύπτονται το αποτέλεσμα είναι απρόβλεπτο.

Note: Υπάρχει ένα πρόβλημα λόγω των περιορισμών της παλέττας της εικόνας (255+1 χρώματα). Το να κάνεις resampling ή filtering μία εικόνα συνήθως χρειάζεται περισσότερα από 255, ένα ειδός προσέγγισης χρησιμοποιείται για τον υπολογισμό του νέου resampled pixel και του χρώματός του. Με μία παλέττα μίας εικόνας προσπαθούμε να δεσμεύσουμε ένα νέο χρώμα, εάν αυτό αποτύχει, επιλέγουμε το χρώμα που έχει υπολογιστεί ως το πιο κοντινό (θεωρητικά). Αυτό δεν είναι πάντα το πιο κοντινό οπτικά χρώμα. Αυτό μπορεί να προκαλέσει ένα περίεργο αποτέλεσμα, όπως κενές (ή οπτικά κενές) εικόνες. Για να ξεπεράσετε αυτό το πρόβλημα, παρακελείστε να χρησιμοποιείτε μία truecolor εικόνα, όπως αυτή που δημιουργείται από τη συνάρτηση imagecreatetruecolor(), ως εικόνα προορισμού.

Note: Η imagecopyresampled() απαιτεί την GD έκδοσης 2.0.l ή μεγαλύτερης.

Ανατρέξτε απίσης στην imagecopyresized().