Forum und email

imagecopyresized

(PHP 4, PHP 5)

imagecopyresized — Αντιγράψτε και αλλάξτε το μέγεθος μέρους μίας εικόνας

Περιγραφή

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

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

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

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