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

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Графические фильтры, WinAPI
blackhard
сообщение 10.11.2008 16:52
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 151
Пол: Мужской
Реальное имя: иван

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


Задача следующая написать программу котораябы обрабатывала изображение bmp различными фильтрами как в photoshop....Нарыл на эту тему кучу материала...И вот скакой проблемой столкнулся нашел вот такую формулу P(i,j) = (
a*P(i-1,j-1)+b*P(i,j-1)+c*P(i+1,j-1)+
+ d*P(i-1,j) + e*P(i,j) + f*P(i+1,j) +
+ g*P(i-1,j+1)+h*P(i,j+1)+k*P(i+1,j+1) ) / (a+b+c+d+e+f+g+h+k) где a b c d e f g h k - элементы матрицы фильтра а P-пикскль изображения так вот как ее применить если bmp храниться как одномерный массив?...
А пока я сделал самый простой фильтр негатив)
DWORD WINAPI InvertPicture(LPVOID lpParameter)
{
	int i,j;
	HWND parent=(HWND)lpParameter;
	for(i=0;i<Picture.bmpih.biHeight;++i){
		for(j=0;j<Picture.bmpih.biWidth;++j)
		{
			Picture.bmp[i*Picture.bmpih.biWidth+j].rgbtBlue=~Picture.bmp[i*Picture.bmpih.biWidth+j].rgbtBlue;
			Picture.bmp[i*Picture.bmpih.biWidth+j].rgbtGreen=~Picture.bmp[i*Picture.bmpih.biWidth+j].rgbtGreen;
			Picture.bmp[i*Picture.bmpih.biWidth+j].rgbtRed=~Picture.bmp[i*Picture.bmpih.biWidth+j].rgbtRed;
		}
		InvalidateRect(parent,0,TRUE);
		if(i%9==0)Sleep(50);
	}
	return 0;
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 

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