Intereting Posts
Как определить, включен ли PDO в PHP? Добавить атрибуты в краткое описание в WooCommerce 3.0+ WordPress: назначение виджетов отдельным страницам Как создать пустую RSS-ленту Расположение файлов сеансов в Apache / PHP Использование регулярного выражения для соответствия блоку div, имеющему определенный идентификатор PHP GD Используйте одно изображение для маскировки другого изображения, включая прозрачность Как получить baseUrl в контроллере ZF2? ExtJS 4.2 – Возможные причины предупреждения о синхронном XMLHttpRequest? Как успешно выполнить POST на старый сайт ASP.NET с использованием асинхронной обратной передачи Открытый HTML-редактор с открытым исходным кодом PHP login session не работает на загрузке первой страницы в новом окне без кеша пустое значение элемента в IE Показывать данные, извлеченные из базы данных, на основе ввода и отображения формы html на странице html Magento Rest API – ошибка oAuth

Загрузка / изменение изображения PHP создает черное изображение

Я использую следующий код для загрузки изображений и создания изображения 300×300 и миниатюры размером 50×50.

if ($_FILES['image_file']['errors'] > 0) { die("<br /><center><strong>Error uploading file:</strong> " . $_FILES['image_file']['error'] . "</center><br />"); } elseif ($_FILES['image_file']['size'] > 2500000) { // 2.5 megabyte limit die("<br />center><strong>Your file is too large. Please upload a smaller file.</strong></center><br />"); } switch (strtolower($_FILES['image_file']['type'])) { case 'image/jpeg': case 'image/pjpeg': $img = imagecreatefromjpeg($_FILES['image_file']['tmp_name']); break; case 'image/png': $img = imagecreatefrompng($_FILES['image_file']['tmp_name']); break; case 'image/gif': $img = imagecreatefromgif($_FILES['image_file']['tmp_name']); break; default: die("<br /><center><strong>Image file must be JPEG, PNG, or GIF.</strong></center><br />"); } $orig_height = imagesy($img); $orig_width = imagesx($img); // Resize the image for profile $scale = min(300/$orig_width, 300/$orig_height); $new_height = ceil($scale * $orig_height); $new_width = ceil($scale * $orig_width); $new_img = imagecreatetruecolor($new_width, $new_height); imagecopyresampled($new_img, $img, 0, 0, 0, 0, $new_with, $new_height, $orig_width, $orig_height); imagejpeg($new_img, "images/$uid.jpg", 85); imagedestroy($new_img); // Reize the image for thumbnails $scale = min(50/$orig_width, 50/$orig_height); $new_height = ceil($scale * $orig_height); $new_width = ceil($scale * $orig_width); $new_thmb = imagecreatetruecolor($new_width, $new_height); imagecopyresampled($new_thmb, $img, 0, 0, 0, 0, $new_with, $new_height, $orig_width, $orig_height); imagejpeg($new_thmb, 'images/' . $uid . '_thumb.jpg', 85); imagedestroy($new_thmb); imagedestroy($img); 

Когда я повторяю вывод обращений imagecopyresampled и imagejpeg , все четыре: 1. Я могу подтвердить, что он также получает правильный размер изображения от imagesx и imagesy а также новые высоты и ширины. В принципе, насколько я могу судить, все работает правильно, за исключением того, что я получаю два черных квадрата на правильных размерах, а не на исходное изображение.