Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];

Вниз

Фильтры   Найти похожие ветки 

 
GhostDog   (2003-09-11 20:42) [0]

Народ помогите чайнику !

Расскажите что такое фильтры из раздела графики и где о них можно почитать и как с ними работать ? (сам ни где не мог найти)
Мне нужно написать прогу где фильтр циклически сдвигает компоненты цвета (R - G - B - R....)

Спасибо !!!


 
Zergling   (2003-09-12 06:08) [1]

Фень Юань. "Программирование графики в Windows" + CD


 
GhostDog   (2003-09-12 07:39) [2]

И где мне это теперь искать ?
а в инете есть что нибудь ?


 
MBo   (2003-09-12 08:22) [3]

>фильтр циклически сдвигает компоненты цвета (R - G - B - R....
фильтром обычно называют некоторое преобразование пиксела по значениям соседних (свертка с матрицей 3х3 или другого размера)

У тебя же, как я понял, элементарное преобразование цветов.


 
GhostDog   (2003-09-12 17:27) [4]

Знаешь эьо иоя лаб\раб а какое это преобразование я сам не знаю
все что есть я написал !!
Вот я и хочу узнать как с фильтрами работать ???


 
pasha_golub   (2003-09-12 18:04) [5]

2Zergling

Где взять в инете? Если есть, плиз, как-нибудь сообщи, а


 
MBo   (2003-09-12 18:06) [6]

>pasha_golub
Нету ее в инете - тыщу страниц сканировать вряд ли кто станет...
Рекомендую приобрести.


 
GhostDog   (2003-09-14 17:06) [7]

Народ здесь че, ни-кто не знает как с фильтрами работать ???
Вы ведь вроде мастера ? или нет ?


 
Думкин   (2003-09-14 17:19) [8]

Тебе уже сказали, что это не фильтр.


 
GhostDog   (2003-09-14 19:42) [9]

Слухай а что это такое ? Если профессор говорит что это фильтр
дак уж наверное это фильтр, а не что то там...
А вот то что здест с фильтрами работать не умеют это ФАКТ !!!


 
Zergling   (2003-09-15 07:09) [10]

По твоему посту скорей всего преобразование яркости/цвета
Как выделить нужный тебе цвет думаю догадаешся

Function Brightness(OriginalColor:TColor;Transp:Byte):TColor;
Var R,G,B:Integer; // Текущий цвет
nR,nG,nB:Integer; // Новый цвет
Begin
R:=(OriginalColor and $ff) shr 0;
G:=(OriginalColor and $ff00) shr 8;
B:=(OriginalColor and $ff0000) shr 16;
// Яркость
{
nR:=R-Change2;
ng:=G-Change3;
nb:=B-Change4;
}
// Прозрачность
nR :=Round(0/100*Transp+((r/100)*(100-Transp)));
nG :=Round(255/100*Transp+((g/100)*(100-Transp)));
nB :=Round(0/100*Transp+((b/100)*(100-Transp)));

// Ограничения по выбору цвета
if nR>$ff then nR:=$ff;
if nG>$ff then nG:=$ff;
if nB>$ff then nB:=$ff;
if nR<0 then nR:=0;
if nG<0 then nG:=0;
if nB<0 then nB:=0;
Brightness:=(nB shl 16)+(nG shl 8)+(nR shl 0);
End;

По фильтрам смотри внимательней MBo © (12.09.03 08:22) [3] и делай вывод!

void TestFilters(HDC hDC, int x, int y, int w, int h, KImage & dib, int nFilterID[], int scale)
{
BYTE * pTemp = new BYTE[dib.m_nImageSize];
memcpy(pTemp, dib.GetBits(), dib.m_nImageSize); //save pixel array

SetBkMode(hDC, TRANSPARENT);
SetTextColor(hDC, 0); // RGB(0xFF, 0xFF, 0xFF));

for (int i=0; i<4; i++)
{
int xx = x + (w*scale + 120) * ( i % 2);
int yy = y + (h*scale + 10) * ( i / 2);

int filter = nFilterID[i];

if ( StockFilters[filter] )
{
dib.Convolution(StockFilters[filter]);

StockFilters[filter]->DescribeFilter(hDC, xx + w*scale + 5, yy + 5);
}

StretchDIBits(hDC, xx, yy,
w*scale, h*scale, 0, 0, w, h, dib.GetBits(), dib.GetBMI(), DIB_RGB_COLORS, SRCCOPY);

memcpy(dib.GetBits(), pTemp, dib.m_nImageSize); // restore pixel array
}

delete pTemp;
}

****

case IDM_VIEW_FILTERS1:
{
int id[] = { 0, 1, 2, 3 };

TestFilters(hDC, GAP, GAP, w, h, m_DIB, id, 3);
}
break;

case IDM_VIEW_FILTERS2:
{
int id[] = { 0, 4, 5, 6 };

TestFilters(hDC, GAP, GAP, w, h, m_DIB, id, 1);
}
break;

case IDM_VIEW_FILTERS3:
{
int id[] = { 0, 7, 8, 9 };

TestFilters(hDC, GAP, GAP, w, h, m_DIB, id, 2);
}
break;


 
Думкин   (2003-09-15 07:16) [11]

> GhostDog © (14.09.03 19:42)

Ты это МВо скажи. Гроб с музыкой заказывать?
А если профессор - то у него и консультируйся.


 
GhostDog   (2003-09-19 16:47) [12]

Zergling Спасибо помог, не то что этот выскочка Думник !!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
1-3968
Yozch1
2003-09-19 18:33
2003.10.02
присвоение функции по OnClick в реальном времени.


1-3990
Mantor
2003-09-19 13:44
2003.10.02
Type Library


3-3766
AkaSaint
2003-09-11 10:38
2003.10.02
Как делать резервное копирование .mdb-базы


3-3718
BorisSV
2003-09-15 11:32
2003.10.02
Отменить удаление используя ActionList => DataSetDelete


3-3740
Patrick
2003-09-15 09:35
2003.10.02
Переменная DateTime в запросах SQL.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский