Замена цветов в изображении - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > PHP

PHP Форум как для начинающих программистов на PHP так и для профессионалов этого дела. Если нужно создать скрипт, функцию и т.д, но не знаете как, спросите у нас и мы вам подскажем. Здесь вы найдете примеры скриптов которые вы сможете использовать на сайтах своих серверов (онлайн, регистрация, семь печатей, топ игроков). Так же много книг и статей.

Ответ
Опции темы
Непрочитано 14.10.2012, 11:13   #1
Пользователь

Автор темы (Топик Стартер) Замена цветов в изображении

есть задача, изменить все !белые цвета на черный, нагуглил код меняющий черный на красный, но он почему-то отказывается работать ...

Код:
$im = imagecreatefrompng('0.png');
$im_x = 179;
$im_y = 58;

$color = imageColorAllocate($im, 255, 0, 0);
for ($x = 0; $x <= $im_x; $x++){
for ($y = 0; $y <= $im_y; $y++){
$rgb = imagecolorat($im, $x, $y);
$colors = imagecolorsforindex($im, $rgb);

if ( $colors['red'] == 0 && $colors['blue'] == 0 && $colors['green'] == 0 ){

imageSetPixel($im, $x, $y, $color);
}
}
}

Header("Content-type: image/png");
imagepng($im);
браузер говорит Изображение «0.png» не может быть показано, так как содержит ошибки.
мб кто-то может подсказать, где тут ошибка ?
zag вне форума Ответить с цитированием
Непрочитано 14.10.2012, 11:59   #2
Пользователь

По умолчанию Re: Замена цветов в изображении

Смени mime на text/plain и посмотри текст ошибки
__________________
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Aquanox вне форума Ответить с цитированием
Непрочитано 14.10.2012, 12:02   #3
Аватар для Dementor
Герой

По умолчанию Re: Замена цветов в изображении

PHP код:
$width 120// ширина
$height 60// высота

$color 0xFFFFFF// какой цвет будет заменять (белый)
$color_replace 0x000000// на какой цвет будем заменять (черный)

for ($a=0$a<$width$a++) {
    for (
$b=0$b<$height$b++) {
        if (
imagecolorat($img2$a$b) == $color) { imagesetpixel($img2$a$b$color_replace); }
    }

Dementor вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 14.10.2012, 12:28   #4
Пользователь

Автор темы (Топик Стартер) Re: Замена цветов в изображении

Цитата:
Сообщение от Неверный Посмотреть сообщение
PHP код:
$width 120// ширина
$height 60// высота

$color 0xFFFFFF// какой цвет будет заменять (белый)
$color_replace 0x000000// на какой цвет будем заменять (черный)

for ($a=0$a<$width$a++) {
    for (
$b=0$b<$height$b++) {
        if (
imagecolorat($img2$a$b) == $color) { imagesetpixel($img2$a$b$color_replace); }
    }

спасибо, но браузер твердит тоже самое - Изображение «0.png» не может быть показано, так как содержит ошибки.
zag вне форума Ответить с цитированием
Непрочитано 14.10.2012, 12:29   #5
Аватар для Dementor
Герой

По умолчанию Re: Замена цветов в изображении

Цитата:
Сообщение от zag Посмотреть сообщение
спасибо, но браузер твердит тоже самое - Изображение «0.png» не может быть показано, так как содержит ошибки.
дайте скрин с браузера и выложите полный скрипт. Это уже ошибка где-то в вашей части кода.
Dementor вне форума Ответить с цитированием
Непрочитано 14.10.2012, 12:41   #6
Пользователь

Автор темы (Топик Стартер) Re: Замена цветов в изображении

0.png
код
Код:
<?php

$img2 = imagecreatefrompng('0.png');

$width = 179; // ширина
$height = 58; // высота

$color = 0xFFFFFF; // какой цвет будет заменять (белый)
$color_replace = 0x000000; // на какой цвет будем заменять (черный)

for ($a=0; $a<$width; $a++) {
    for ($b=0; $b<$height; $b++) {
        if (imagecolorat($img2, $a, $b) == $color) { imagesetpixel($img2, $a, $b, $color_replace); }
    }
} 
Header("Content-type: image/png");
imagepng($img2);
?>
скрин с браузера
zag вне форума Ответить с цитированием
Непрочитано 14.10.2012, 13:26   #7
Аватар для Dementor
Герой

По умолчанию Re: Замена цветов в изображении

А заголовки Header("Content-type: image/png"); разве не в начале должны быть?

Добавлено через 1 минуту
И вот это вроде забыли добавить: imagedestroy($img2); после создания картинки

PHP код:
imagepng($img2);
imagedestroy($img2); // добавлено 

Последний раз редактировалось Dementor; 14.10.2012 в 13:28. Причина: Добавлено сообщение
Dementor вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 14.10.2012, 13:30   #8
Пользователь

Автор темы (Топик Стартер) Re: Замена цветов в изображении

Цитата:
Сообщение от Неверный Посмотреть сообщение
А заголовки Header("Content-type: image/png"); разве не в начале должны быть?

Добавлено через 1 минуту
И вот это вроде забыли добавить: imagedestroy($img2); после создания картинки

PHP код:
imagepng($img2);
imagedestroy($img2); // добавлено 
исправил, дописал, ничего не изменилось
zag вне форума Ответить с цитированием
Непрочитано 14.10.2012, 13:46   #9
Пользователь

По умолчанию Re: Замена цветов в изображении

Проверил у себя, код нормально работает!

добавь в начало скрипта, чтобы посмотреть все возникающие ошибки...
PHP код:
error_reporting (E_ALL); 
Arzamas вне форума Отправить сообщение для Arzamas с помощью ICQ Отправить сообщение для Arzamas с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 14.10.2012, 13:50   #10
Пользователь

Автор темы (Топик Стартер) Re: Замена цветов в изображении

Цитата:
Сообщение от Arzamas Посмотреть сообщение
Проверил у себя, код нормально работает!

добавь в начало скрипта, чтобы посмотреть все возникающие ошибки...
PHP код:
error_reporting (E_ALL); 
добавил, ошибок не показывает
какой у вас браузер\версия php?
zag вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание magic book (замена текстуры + эффект шейдера) Allexus Обучающие статьи 5 22.04.2012 15:20
Замена стандартной надписи FreeForm Lineage II 2 06.05.2011 23:16
Замена скилов xNektox Lineage II 4 06.05.2010 10:35


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 00:41. Часовой пояс GMT +3.

Вверх