Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Замена цветов в изображении
#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» не может быть показано, так как содержит ошибки.
мб кто-то может подсказать, где тут ошибка ?
Ответ
#2
Смени mime на text/plain и посмотри текст ошибки
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Ответ
#3
PHP код:
<?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); }
}
}
Ответ
#4
Неверный Написал:
PHP код:
<?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» не может быть показано, так как содержит ошибки.
Ответ
#5
zag Написал:спасибо, но браузер твердит тоже самое - Изображение «0.png» не может быть показано, так как содержит ошибки.

дайте скрин с браузера и выложите полный скрипт. Это уже ошибка где-то в вашей части кода.
Ответ
#6
0.png [Изображение: image.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);
?>
скрин с браузера
[Изображение: image.png]
Ответ
#7
А заголовки Header("Content-type: image/png"); разве не в начале должны быть?

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

PHP код:
<?php 
imagepng
($img2);
imagedestroy($img2); // добавлено
Ответ
#8
Неверный Написал:А заголовки Header("Content-type: image/png"); разве не в начале должны быть?

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

PHP код:
<?php 
imagepng
($img2);
imagedestroy($img2); // добавлено
исправил, дописал, ничего не изменилось
Ответ
#9
Проверил у себя, код нормально работает!

добавь в начало скрипта, чтобы посмотреть все возникающие ошибки...
PHP код:
<?php 
error_reporting
(E_ALL);
Ответ
#10
Arzamas Написал:Проверил у себя, код нормально работает!

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


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Автоматическая замена данных в форме linliss 8 3,454 01-13-2014, 12:46 PM
Последний пост: Froxz

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)