2014-07-14 2 views
0

Это мой код для выбора изображения, а затем преобразование этого изображения в несколько цветов, а затем размещение их в каталоге на моем сервере. У меня возникают некоторые проблемы с «if ($ im & & imagefilter ($ im, IMG_FILTER_COLORIZE, $ colour-> RGB))" часть запроса. ЕСЛИ я использую настоящий код RGB в разделе «$ colour-> RGB», он работает. Однако RGB, сохраненный в базе данных, сохраняется правильно, это результат запроса.Преобразование изображения с использованием imagecreateformpng с ошибками

Белый 255,255,255 Белые затенения не удались.

Зеленый 0,255,0 Зеленый оттенок не удался.

Оранжевый 255,165,0 Оранжевый оттенок не удался.

Красный 255,0,0 Красный оттенок не удался.

Розовый 255,51,153 Розовый оттенок не удался.

Blue 0,0,255 Не удалось выполнить синее затенение.

Серебро 192,192,192 Серебряное затенение не выполнено.

Желтый 255,255,0 Желтый оттенок не удался.

<?php 

include('PATH_TO/ez_sql_core.php'); 
include('PATH_TO/ez_sql_mysql.php'); 

$db = new ezSQL_mysql('xxxx','xxxx','xxxx','xxxx'); 

$colours = $db->get_results("SELECT Colour, RGB FROM colours"); 

foreach($colours as $colour) 
{ 
    echo $colour->Colour; 
    echo "<br>"; 
    echo $colour->RGB; 
    echo "<br>"; 

    $im =  imagecreatefrompng("IMAGE_URL"); 

    if($im && imagefilter($im, IMG_FILTER_COLORIZE, $colour->RGB)) 
    { 
     echo "Image successfully shaded {$colour->Colour}."; 

     imagepng($im, "images/Convert/IMAGENAME-{$colour->Colour}.png"); 
     imagedestroy($im); 
    } 
else 
    { 
     echo "{$colour->Colour} shading failed."; 
    } 
    echo "<br>"; 
} 

Может кто-нибудь посоветовать, почему $ Хромотерапия> RGB покажет правильно на эхо еще не на "если ($ им & & ImageFilter ($ им, IMG_FILTER_COLORIZE, $ Хромотерапия> RGB))"

ответ

0

Per the docs в RGB значения цвета должны быть выполнены в виде отдельных аргументов:

list($red,$green,$blue) = explode(',', $colour->RGB); 

imagefilter($im, IMG_FILTER_COLORIZE, $red, $green, $blue); 
+0

Прекрасное спасибо! –

-1

http://php.net/manual/en/function.imagefilter.php

с м Для каждого фильтра COLORIZE необходимы индивидуальные значения R G B. Вы передаете строку.

Преобразовать ImageFilter ($ им, IMG_FILTER_COLORIZE, $ Хромотерапия> RGB)

Для

$ = взорваться RGB ($ цвет-> RGB); imagefilter ($ im, IMG_FILTER_COLORIZE, $ rgb [0], $ rgb [1], $ rgb [2]);

+0

Плохой синтаксис 'explode()'. – cOle2

+0

Спасибо @ cOle2. Я знаю, что забыл клей. В следующий раз это будет лучше. – KunalB

Смежные вопросы