Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

incoqniski

Новачок
  
  • Публікації

    3
  • З нами

  • Відвідування

Про incoqniski

  • День народження 23.12.88

Інформація

  • Стать
    Мужчина
  • Місто:
    Москва

incoqniski's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Репутація

  1. Доброй ночи. Столкнулся с проблемой "белого фона". Думаю, эта проблема актуальна на сегодняшний день не только для меня. Наткнулся на один интересный код, который автоматически "подгоняет" загружаемые изображения под заданные критерии. Вопрос лишь в том, что не удаётся найти к каким именно критериям он обращается. По сути, он обрезает "белый фон" у картинки, но вместе с тем и урезает саму картинку и везде получается разный размер. Был бы премного признателен за помощь в этом вопросе. public function resize($width = 0, $height = 0) { if (!$this->info['width'] || !$this->info['height']) { return; } $scale = max($width / $this->info['width'], $height / $this->info['height']); /* if ($scale == 1 && $this->info['mime'] != 'image/png') { return; }*/ //$new_width = (int)($this->info['width'] * $scale); //$new_height = (int)($this->info['height'] * $scale); $new_width=$width; $new_height=$height; $src_width=$new_width/$scale; $src_height=$new_height/$scale; $src_x=($this->info['width']-$src_width)/2; $src_y=($this->info['height']-$src_height)/2; $image_old = $this->image; //$this->image = imagecreatetruecolor($width, $height); // преобразуем, сохранив пропорции $this->image = imagecreatetruecolor($new_width, $new_height); if (isset($this->info['mime']) && $this->info['mime'] == 'image/png') { imagealphablending($this->image, false); imagesavealpha($this->image, true); $background = imagecolorallocatealpha($this->image, 255, 255, 255, 127); imagecolortransparent($this->image, $background); } else { $background = imagecolorallocate($this->image, 255, 255, 255); } // Не будем создавать новый прямоугольник //imagefilledrectangle($this->image, 0, 0, $width, $height, $background); imagecopyresampled($this->image, $image_old, 0, 0, $src_x, $src_y, $new_width, $new_height, $src_width, $src_height); //imagecopyresampled($this->image, $image_old, $xpos, $ypos, 0, 0, $new_width, $new_height, $new_width, $new_height); imagedestroy($image_old); //$this->info['width'] = $width; // $this->info['height'] = $height; $this->info['width'] = $new_width; $this->info['height'] = $new_height; }

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.