Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 2
Регистрация: 22.12.2012
Сообщений: 19

Перекрасить определенный пиксель в изображении

31.03.2013, 18:08. Показов 1719. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста в следующем:

Существует задача перекрасить ( осветлить или затемнить пиксели картинки), которые не попадают в диапазон rpg .

Посоветуйте пожалуйста может есть какие то функции для этого, или посмотрите что не так в данном коде, возникает проблема записать изменений пик сель на картинку
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/ / Обрабатываем пиксели которые сильно отличаться от нужных значений
/ / Выбираем из базы значение по которым будут равняться пиксели
$image_r = $row['r'];
$image_g = $row['g'];
$image_b= $row['b'];
$image_obob = $row['url_image'];
// Узнаем размер изображение
$rozmi_y = imagesy($image_obob);
$rozmir_x = imagesx($image_obob); 
 
// Делаем проверку в цикле каждого пикселя
for( $h = 0; $h <= $rozmir_y; $h ++ ){
for( $w = 0; $w <= $rozmir_x; $w ++ )
{
// Узнаем цвет пикселя в координатах $w, $h
$color = imagecolorat( $image_obob, $w, $h );
 $r = ($color >> 16) & 0xFF;
 $g = ($color >> 8) & 0xFF;
 $b = $color & 0xFF;
 $x = $w;
 $y = $h;
// Заносим изначальные значение цвета пикселя
$iznach_r = $r;
$iznach_g = $g;
$iznach_b = $b;
// Проверяем red цвет
if ($r < "$image_r - 50")
{$r = "$r+50";}
elseif ($r < "$image_r + 50")
{$r = "$r-50";}
echo $r;
// Проверяем green цвет
if ($g < "$image_g - 50")
{$g = "$g+50";}
elseif ($g < "$image_g + 50")
{$g = "$g-50";}
// Проверяем blue цвет
if ($b < "$image_b - 50")
{$b = "$b+50";}
elseif ($b < "$image_b + 50")
{$b = "$b-50";}
 
// Проверяем нужно ли делать перекрашивание пикселя
if ($iznach_r <> $r OR $iznach_g <> $g OR $iznach_b <> $b)
{
// Записываем значение в пиксель
$image_obob =imagecreatefromjpeg($image_obob);
$picsl_color = imagecolorallocate ($image_obob, $r, $g ,$b );
imagesetpixel ($image_obob , $rozmir_x , $rozmir_y , $picsl_color);
}
 
}}
Добавлено через 13 часов 53 минуты
этот просто набросы, алгоритм будет другой.....а вот посмотрите пожалуйста строки, как записать изменение в пиксель уже существующей картинки
PHP
1
2
3
4
// Записываем значение в пиксель
$image_obob =imagecreatefromjpeg($image_obob);
$picsl_color = imagecolorallocate ($image_obob, $r, $g ,$b );
imagesetpixel ($image_obob , $rozmir_x , $rozmir_y , $picsl_color);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2013, 18:08
Ответы с готовыми решениями:

Перекрасить изображение
Здравствуйте. Скажите, можно ли как-то изменять цвета изображений через php, html с помощью индексов rgb?

Заменить пиксель на изображении
Здравствуйте. Может кто помочь, мой код связан в работе с изображением. Мне нужно 1)загрузить файл в памяти 2)заменить пиксель(каждый...

Найти черный пиксель на всем изображении в PictureBox
Нужно найти черный пиксель НА ВСЕМ ИЗОБРАЖЕНИИ В Picturebox Вот так работает но только когда я заливаю Picturebox в черный цвет ...

2
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
31.03.2013, 18:24
Цитата Сообщение от maxy666 Посмотреть сообщение
PHP
1
if ($r < "$image_r - 50")
это тоже самое что и
PHP
1
if ($r < $image_r)
аналогично и остальные

Добавлено через 1 минуту
Цитата Сообщение от maxy666 Посмотреть сообщение
PHP
1
$b = "$b-50";
к примеру, при $b == 10, это будет строка
PHP
1
$b = "10-50";
но никак не -40, которые вы, походу, ожидаете..
0
0 / 0 / 2
Регистрация: 22.12.2012
Сообщений: 19
31.03.2013, 20:53  [ТС]
здесь имеется ввиду если какой то пиксель отличается на 50 позиций то перекрасить данный пиксель...
проблема возникает при перекрашивании пикселя...
PHP
1
2
3
4
// Записываем значение в пиксель
$image_obob =imagecreatefromjpeg($image_obob);
$picsl_color = imagecolorallocate ($image_obob, $r, $g ,$b );
imagesetpixel ($image_obob , $rozmir_x , $rozmir_y , $picsl_color);
здсь что не так подскажите пожалуйста что
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2013, 20:53
Помогаю со студенческими работами здесь

Каким стандартным софтом Windows можно смотреть пиксель в пиксель?
Здравствуйте. Есть изображение - дизайн сайта. Можно ли каким встроенным стандартным софтом виндоус (XP,7) просмотреть изображение...

Проверка пиксель в пиксель на мобильном приложении
Если нужно например проверит верстку пиксель в пиксель в браузере то это легко.Для браузеров есть программы для наложения ПДФ на верстку. ...

Нужно ввести в элементы массива 0, если пиксель белый, или 1 ,если пиксель чёрный
Есть чёрно белая картинка 3x5. Нужно ввести в элементы массива 0, если пиксель белый, или 1 ,если пиксель чёрный. Добавлено через 16...

Верстка "пиксель в пиксель"
В заданиях на верстку, часто вижу требования верстки &quot;пиксель в пиксель&quot; с макетом. Есть много приблуд позволяющих поверх верстаемой...

перекрасить StringGrid
Можно ли перекрасить StringGrid в другой цвет отличный от белого - не сами строки и ячейки, а именно фон когда яцеек нет


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru