Kak zdzelac Karcinku Bolee Svetloj ( Tjomnoj )

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Erix
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 02.06.2004 (Ср) 21:47
Откуда: Rezekne

Kak zdzelac Karcinku Bolee Svetloj ( Tjomnoj )

Сообщение Erix » 03.06.2004 (Чт) 18:09

Pomogite mozhalsto ... :cry:
Kak zdelac karcinku bolee svetloj ( tomnoj )...
Proboval vsjakimi "mazahistnimi" metodami - nifiga ne polu4ilosj
Gotov prinjac lubije ri6enija ( zhelacelno API )

Tolko ne nado s DC i.t.d...
Picture1 => Picture2

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 03.06.2004 (Чт) 18:17

Гы. А как еще можно работать с графикой средствами API, как не через hDC? Я таких способов не знаю...
Можно, конечно, втупую: у каждого пикселя брать RGB и прибавлять к каждому байту фиксированное число, 5, например. Но это долго и неэффективно. А готовых апишек я, признаться, не встречал - никогда не было необходимости писать собственный Фотошоп...

Erix
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 02.06.2004 (Ср) 21:47
Откуда: Rezekne

Сообщение Erix » 03.06.2004 (Чт) 19:26

Ladno, davaite hocabi s hDC.... :roll:
Zarenije spasibo :lol: ...

Unknown Error
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 25.04.2004 (Вс) 3:40
Откуда: Брянск

Сообщение Unknown Error » 05.06.2004 (Сб) 13:55

Сначала нужно определить цвет точки:

Dim r as long, g as long, b as long, p as long

p = GetPixel(Picture1.hdc, x, y)

r = x And 255
g = (x And 65280) \ 256
b = (x And 16711680) \ 65535

r = r + 10 'осветление
g = g + 10 'осветление
b = b + 10 'осветление

r = r - 5 'затемнение
g = g - 5 'затемнение
b = b - 5 'затемнение

И рисуй эту точку:

SetPixel Picture1.hdc, x, y, RGB(r, g, b)

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 07.06.2004 (Пн) 14:31

Этот способ не верный. Я уже так накалывался.
Представь: у тебя пиксел (120,0,10).
После твоего "осветления" будет (130,10,20).
В составляющей GREEN появится 10, хотя было 0.
Это приведет к искажению цветов.

Здесь надо работать через параметр яркость. В различных книгах по компьютерной графике есть формула.

Lobo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 08.01.2004 (Чт) 16:49
Откуда: Таллинн, Эстония

Сообщение Lobo » 09.06.2004 (Ср) 10:53

Попробуй использовать бесплатную библиотеку ImageMagic
Изображение Вопросы - рёбрами!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList