Баннер приобретает странный цвет, когда я извлекаю изображения из mysql, PHP GD

Я хочу сделать баннер с изображениями, сохраненными в базе данных, но баннер приобретает странный цвет, когда $imagesB берет изображения из базы данных, когда я помещаю ссылку на одну фотографию в $imagesB, это сохраняет реальный цвет, и я не знаю, почему изображение становится более зеленым, когда я беру из базы данных.

это код

<?php 
  require('db.php');
  session_start();

  $w = 480*10;
  $h = 270*5;

  header("Content-Type: image/png");

  $im = imagecreate($w, $h) or die("Cannot initialize GD extension");
  $canvas = imagecolorallocate($im, 245, 245, 245);

  $sql = "SELECT * FROM Cinema";
  $result = mysqli_query($mysqli, $sql);
  $results = array();

  if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
      $results[] = $row['Coperta'];
    }
  }

  for($i=0;$i<10;$i++){
  // here i also tried to obtain the photos directly from mysql with $imagesB ="http://projects.rusticwoodromania.com/uploads/".$row['Coperta']; but the same results
    $imagesB = "http://projects.rusticwoodromania.com/uploads/".$results[$i];
  // when this link it's "http://projects.rusticwoodromania.com/uploads/1535026678_545047747.png"; the image look normal not with this kind of green


    $imgB = imagecreatefrompng($imagesB);
    $a = $i*480;

    for($j=0;$j<5;$j++){
      $b = $j*270;
      imagecopyresampled($im, $imgB, $a, $b, 0, 0, 480, 270, 480, 270);
    }
  }

  imagepng($im);

?>

1. Ссылка на "зеленое" изображение

2. Ссылка с обычным изображением


person Cosmin Ferecatu    schedule 25.08.2018    source источник
comment
Попробуйте вместо этого использовать imagecolorallocate($im, 0, 0, 0);.   -  person Raymond Nijland    schedule 26.08.2018
comment
Эти две ссылки разные: $imagesB ="http://projects.rusticwoodromania.com/uploads/".$row['Coperta']; и $imagesB = "http://projects.rusticwoodromania.com/uploads/".$results[$i];   -  person Chukwuemeka Inya    schedule 26.08.2018
comment
Вам действительно нужен png? я думаю, что это может быть связано с плохими серверными библиотеками для этой цели. ты пробовал с jpeg?   -  person Erubiel    schedule 27.08.2018
comment
Я говорю вам это, потому что я вижу, что вы используете GD, и у меня была аналогичная проблема при сохранении в формате png. Мне действительно нужен был png, поэтому я попробовал эту библиотеку php.net/manual/en/book .imagick.php, но мне пришлось установить его и перезагрузить сервер. Но я использовал его с этой библиотекой image.intervention.io, но эта библиотека вызывает imagick, так что, возможно использование непосредственно imagick должно работать.   -  person Erubiel    schedule 27.08.2018
comment
Возможный дубликат PHP imagecreatefrompng теряет цвет   -  person Jasper    schedule 27.08.2018
comment
Первый шаг — взглянуть на ваши файлы: все они называются «.png», но некоторые из них на самом деле являются файлами jpg. Вы заметите, что imagecreatefrompng не будет работать, например, на 1535019389_992041950.png, но imagecreatefromjpeg будет.   -  person Jasper    schedule 27.08.2018