Страница: 1 |
Страница: 1 |
Вопрос: Помогите пожалуста
Добавлено: 07.04.06 17:22
Автор вопроса: AsHeS | ICQ: 229759992
Есть объект PictureBox. Я использую функцию PictureBox.point. Вопрос что за формат , в котором возвращяется мне цвет пикселя ??? Можно ли как нибуть его в RGB преобразовать . А вобще надо отыскивать похожие по цвету пиксели. Плиз , помогите ! У мя дело встало :(
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
AsHeS
ICQ: 229759992
Вопросов: 14
Ответов: 93
Профиль | | #1
Добавлено: 07.04.06 18:01
Спасибо вам форумчане за оперативность ответа !!!
К слову оказалось что бейсик выдет HEX (RGB) в 10-ой системе
Номер ответа: 2
Автор ответа:
Beralus_
ICQ: 255004422
Вопросов: 0
Ответов: 14
Профиль | | #2
Добавлено: 07.04.06 18:42
col = PictureBox.Point(X, Y)
col16 = Hex$(col)
While Len(col16) < 6
col16 = "0" + col16
Wend
RGBColor1 = Val("&h" & Right$(col16, 2))
RGBColor2 = Val("&h" & Left$(col16, 2))
RGBColor3 = Val("&h" & Mid$(col16, 3, 2))
Номер ответа: 3
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #3
Добавлено: 07.04.06 22:07
col16 = Hex$(col)
While Len(col16) < 6
col16 = "0" + col16
Wend
RGBColor1 = Val("&h" & Right$(col16, 2))
RGBColor2 = Val("&h" & Left$(col16, 2))
RGBColor3 = Val("&h" & Mid$(col16, 3, 2))
Color = Picture1.Point(x, y)
R = Abs(Color) Mod 256
G = ((Abs(Color) And &HFF00) / 256) Mod 256
B = (Abs(Color) And &HFF0000) / 65536
Номер ответа: 4
Автор ответа:
AsHeS
ICQ: 229759992
Вопросов: 14
Ответов: 93
Профиль | | #4
Добавлено: 10.04.06 16:58
Ну вот и я о том ! Там цвета даже на глаз различимы ! Красный с небольшими оттенками и малиновый. Вот мне и нужно чтоб остался токо 1 вариант красного и 1 вариант малинового. Чтоб посчитать можно было
Номер ответа: 5
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #5
Добавлено: 10.04.06 17:09
Тогда попробуй искать цвета, которые отличаются по компонентам (Red, Green, Blue) на определенную величину, которую придется подбирать тебе самому
Номер ответа: 6
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #6
Добавлено: 11.04.06 12:25
Проще понизить глубину цвета для контекста. Проблема снимется автоматически
Номер ответа: 7
Автор ответа:
Programmer
Вопросов: 71
Ответов: 246
Профиль | | #7
Добавлено: 15.04.06 23:42
Все гараздо проше:
Color = Picture1.Point(x, y)
if Color = RGB(250, 250, 0) Then Msgbox "OK"
Тока поексперементируй с параметрами RGB.
Номер ответа: 8
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #8
Добавлено: 17.04.06 00:10
Вопрос не совсем ясен, но запись функции разложения, предложенную Sacred Phoenix, хотелось бы довести до ума.
Type RGBS
R As Byte
G As Byte
B As Byte
Filler As Byte
End Type
Function AntiRGB(Color& As RGBS
AntiRGB.R = Color And 255
AntiRGB.G = (Color \ 256) And 255
AntiRGB.B = (Color \ 65536) And 255
End Function