Intereting Posts
Все фанаты моей страницы Facebook Как создать файл .env для теста с Laravel Dusk PHP самый точный / безопасный способ получить реальный IP-адрес пользователя в 2017 году jQuery JSON Templating из MySQL Числовые значения и специальные функции в функции str_word_count почему tmp_name используется в этом примере Какое регулярное выражение можно использовать для проверки числа от 0 до 255? Можете ли вы присвоить значения константам с знаком равенства после использования, определенных в php? Сортировка запросов UNION с помощью Laravel 4.1 Извлечение имен функций из файла (с регулярными выражениями или без них) Контроллер cakephp не найден на сервере производства Разница в области переменных между областью PHP и C: не совсем то же самое? Почему strip_tags не работает в PHP? Почему PHP foreach один раз увеличивает указатель своего массива (только)? Можно ли отображать RTF-файл внутри веб-страницы с помощью PHP?

как обрезать изображение в codeigniter?

Я использую codeigniter для создания проекта, и сейчас мне нужно создать большой палец в зависимости от выбора пользователя. как он даст мне X1, Y1, X2, Y2, X3, Y3, X4, Y4. Я хочу обрезать изображение в зависимости от этих 4 точек. Я проверил класс манипуляции с изображениями. функция урожая кажется очень странной. любая помощь, пожалуйста?

Я знаю, что документация разрешена для этой конкретной функции в библиотеке изображений. Функция урожая требует, чтобы вы подавали только на оси. Затем он будет обрезать эти оси и вернуть часть изображения, которая ближе к центру. Поэтому, если вы установите ось x на 10 и ось y на 10, она удалит верхние 10px изображения и левые 10 px изображения. Аналогично, если вы установите ось x на ширину изображения – 10, она обрезает 10 пикселей справа от изображения.

То, что ваши четыре позиции говорят вам, – это действительно четыре разных положения. Поэтому вам нужно выполнить две операции. Вам просто нужно изменить оси между этими $ this-> image_lib-> crop ().

Как определить эти оси зависит от того, как вы получаете эти данные. В массиве, как отдельные значения и т. Д., Поэтому я не буду вдаваться в это.

Вам нужно будет установить ось X (слева), ширину (справа), ось y (верх) и высоту (внизу). Необходимо установить ширину и высоту изображения.

list($width, $height, $type, $attr) = getimagesize($img); $CI->load->library('image_lib'); $config['image_library'] = 'gd2'; $config['source_image'] = $img; $config['x_axis'] = '10'; $config['y_axis'] = '10'; $config['maintain_ratio'] = FALSE; $config['width'] = $width-10; $config['height'] = $height-10; 

Приведенный выше код обрезает изображение на 10 пикселей слева, справа, сверху и снизу. вы можете смело изменить значение «10» на любое значение, которое вы предпочитаете;)

Я не получаю никаких результатов в библиотеке gd2. он всегда изменяет размер изображения, но более новые культуры.

так что вот решение с imagemagick и отлично работает.

 public function resize_prep($path, $file){ $config['image_library'] = 'imagemagick'; $config['library_path'] = '/usr/bin'; $config['source_image'] = $path; $config['create_thumb'] = TRUE; $config['maintain_ratio'] = FALSE; $config['x_axis'] = 300; $config['y_axis'] = 300; //$config['width'] = 650; //$config['height'] = 353; $config['new_image'] = './uploads/'.$file; $this->load->library('image_lib', $config); //$this->image_lib->crop(); $this->image_lib->initialize($config); if (!$this->image_lib->crop()){ echo $this->image_lib->display_errors(); } }