IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Определение цвета пикселя, Как определить цвет каждой точки экрана
Xineger
сообщение 17.10.2004 1:26
Сообщение #1


Гость






Граждане обитатели форума, возник вопрос один к Вам. Ничего подобного на форуме нет, так что решил создать новую тему. Итак.
Допустим, вывел я на экран bmp-шку. И очень надо определить цвет каждого пикселя на экране. Как это сделать? И можно ли потом этот пиксель перекрасить, не меняя всего рисунка?
Модуль для просмотра bmp взят тут же, http://pascal.dax.ru/forum/index.php?act=A...e=post&id=14456 если быть точным.
 К началу страницы 
+ Ответить 
volvo
сообщение 17.10.2004 2:01
Сообщение #2


Гость






Хочешь определить цвет пикселя -
Color:=GetPixel(x, y);


Изменить:
PutPixel(x, y, Color);


Значения x, y - типа Integer; Color - Word...
 К началу страницы 
+ Ответить 
GoodWind
сообщение 17.10.2004 6:46
Сообщение #3


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


а если асмом то вот так:

Код
Function getpixel(x,y : integer):byte;
begin
asm
 mov ax,y
 mov bx,ax
 shl ax,8
 shl bx,6
 add bx,ax
 add bx,x
 mov ax,0a000h
 mov es,ax
 mov al,es:[bx]
 mov @result,al
end;
end;


поставить точку:

Код
procedure putpixel(x,y : integer;color : byte); assembler;
asm
 pusha
 mov ax,y
 mov bx,ax
 shl ax,8
 shl bx,6
 add bx,ax
 add bx,x
 mov ax,0a000h
 mov es,ax
 mov al,color
 mov es:[bx],al
 popa
end;


Сообщение отредактировано: GoodWind - 17.10.2004 7:01


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 17.10.2004 6:59
Сообщение #4


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


[offtop]
а зачем bmp-шник выводил, если не секрет ?
просто интересно
[/offtop]


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 17.10.2004 8:07
Сообщение #5


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Кстати второй рисунок вывести не выйдет на экран одновременно с первым.
Палитра первого рисунка изменится!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Xineger
сообщение 17.10.2004 12:44
Сообщение #6


Гость






За ответы всем спасибо. БМПшку выводил в качестве лого,и захотелось над ней извращнуться маленько. То бишь применить к ней какие-нибудь эффекты.
 К началу страницы 
+ Ответить 
GoodWind
сообщение 17.10.2004 18:41
Сообщение #7


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


вот так и я начинал....
посмотрите, что из меня вышло.... ужас ! lol.gif


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 17.10.2004 18:44
Сообщение #8


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


кошмар! lol.gif


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
BlackShadow
сообщение 18.10.2004 21:43
Сообщение #9


Гость






GoodWind, не катит при VGA-режимах sad.gif
 К началу страницы 
+ Ответить 
GoodWind
сообщение 19.10.2004 3:37
Сообщение #10


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Цитата
GoodWind, не катит при VGA-режимах

знаю, зато в 13h mode всё ОК


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 19.10.2004 3:39
Сообщение #11


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


для тех кто не знает, как войти в 13h:

procedeure goto13h;assembler;
asm
mov ax,$13;
int 10h
end;


так вроде, BlackShadow, поправь ежели не так


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 17:45
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"