imagecopyresampled

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecopyresampled — Копіювання та зміна розміру зображення з ресемплюванням

Опис

imagecopyresampled(    GdImage $dst_image,    GdImage $src_image,    int $dst_x,    int $dst_y,    int $src_x,    int $src_y,    int $dst_width,    int $dst_height,    int $src_width,    int $src_height): bool

imagecopyresampled() копіює прямокутну частину одного зображення на інше зображення, інтерпрелюючи значення пікселів таким чином, щоб зменшення розміру зображення не зменшувало його чіткості.

Іншими словами, imagecopyresampled() бере прямокутну ділянку з src_image із шириною src_width та заввишки src_heightна координатахsrc_x,src_y і поміщає його у прямокутну ділянку зображення dst_imageширинойdst_width та заввишки dst_heightна координатахdst_x,dst_y

Якщо координати, ширина або висота вихідного та кінцевого зображень є різними, фрагмент, що копіюється, буде розтягнутий або стиснутий. Координати відраховуються від верхнього лівого кута зображення. Функцію можна використовувати для накладання ділянок на те саме зображення, з якого вони скопійовані (якщо dst_image має те саме значення, що і src_image), але якщо ділянки перетинатимуться, результат непередбачуваний.

Список параметрів

dst_image

Ресурс цільового зображення.

src_image

Ресурс вихідного зображення.

dst_x

x-координата результуючого зображення.

dst_y

y-координата результуючого зображення.

src_x

x-координата вихідного зображення.

src_y

y-координата вихідного зображення.

dst_width

результуюча ширина.

dst_height

Результатова висота.

src_width

Ширина вихідного зображення.

src_height

Висота вихідного зображення.

Значення, що повертаються

Повертає true у разі успішного виконання або **false**в случае возникновения ошибки.

список змін

ВерсияОпис
8.0.0dst_imageиsrc_image тепер чекають на екземпляр GdImage; раніше очікували ресурс (resource).

Приклади

Приклад #1 Простий приклад

У цьому прикладі зображення буде стисло до половини вихідного розміру.

Loading...

Висновок наведеного прикладу буде схожим на:

Висновок прикладу: Простий приклад

Приклад #2 Ресемплювання зображення із збереженням пропорцій

У цьому прикладі зображення буде стиснуто до 200 пікселів шириною або висотою, дивлячись що більше.

Loading...

Висновок наведеного прикладу буде схожим на:

Висновок прикладу: Ресемплювання зображення із збереженням пропорцій

Примітки

Зауваження :

Існує проблема, пов'язана з обмеженнями палітрових зображень (255+1 колір). Ресемплювання або фільтрація зображення потребує більше кольорів, ніж 255. Для розрахунку нового пікселя та його кольору використовується деяке наближення. У разі палітрових зображень ми намагаємося створити новий колір, а якщо це не вдається, ми вибираємо найближчий (теоретично) обчислений колір. Це не завжди візуально найближчий колір. Такий підхід може давати в результаті порожні (або візуально порожні) зображення. Для усунення цієї проблеми, будь ласка, використовуйте truecolor-зображення як результуючі, що створюються функцією imagecreatetruecolor()

Дивіться також

  • imagecopyresized() - Копіювання та зміна розміру частини зображення
  • imagescale() - Масштабувати зображення за заданою шириною та висотою
  • imagecrop() - Обрізати зображення до заданого прямокутника