Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

не меняется цвет в ColorBox


Страницы:   1 2

BAngel ©   (2006-05-09 21:23:00) 

Точнее цвет меняется, но на один и тот же. Вот процедура:
procedure T_1.ImageMouseDown(Sender:TObject;mb: TMouseButton;Shift: TShiftState;
                            X, Y: Integer);
begin
if pipetka.Down then case mb of
 mbLeft:
 colorbox1.Selected:=image.Canvas.Pixels[Mouse.CursorPos.X,Mouse.CursorPos.y];
 mbRight:
 colorbox2.Selected:=image.Canvas.Pixels[Mouse.CursorPos.x,Mouse.CursorPos.y];
end;
end;


BAngel   (2006-05-09 22:34:00) [1]

А что, это идея. Спасибо


KilkennyCat   (2006-05-09 22:32:00) [2]


> [27] BAngel   (09.05.06 22:24)

нет, не из-за этого.

алгоритм таков -
получаем цвет точки.
смотрим, есть ли такой цвет в боксе.
если есть - устанавливаем итем бокса соответсвенно цвету, если нет - добавляем итем в бокс, затем устанавливаем.


BAngel   (2006-05-09 22:24:00) [3]

Кстати, это может быть из-за того что я использую самодельный курсор(точку чувствительности я указал)


BAngel   (2006-05-09 22:23:00) [4]


> KilkennyCat ©   (09.05.06 22:19) [25]

Ну так как мне быть


KilkennyCat   (2006-05-09 22:19:00) [5]


> [24] Gydvin ©   (09.05.06 22:16)


это лишнее. Его солорбокс ничем не хуже, как хранилище. Учитывая, что он потом им пользуется.
К тому же, все цвета и так уже объявлены простой записью $00000000 - $FFFFFFFF


Gydvin   (2006-05-09 22:16:00) [6]

короче
var
colorQ:array of tcolor;
i:integer;

тебе в руки

а так же setlength() и будет тебе счастие ))))) какой цвет хочешь такой туду и запишешь под номером I


KilkennyCat   (2006-05-09 22:16:00) [7]

Тогда надо сначало Add сделать, а потом уж присваивать...


BAngel   (2006-05-09 22:13:00) [8]


> тебе нуно создать список цветов, а потом выбрав из них нужный
> менять им остальные?

так я же не знаю какие там в картинке цвета могут быть


BAngel   (2006-05-09 22:11:00) [9]


> Ты разве не понимаешь, что у тебя на рисунке могут быть
> цвета, которых нет в TColorBox?

Я когда-то делал уже, только вот щас не получается. А раньше оно мне цвет кидало в кустом. Оно и щас его туда кидает, только одно и то же


Gydvin   (2006-05-09 22:11:00) [10]

тебе нуно создать список цветов, а потом выбрав из них нужный менять им остальные?


BAngel   (2006-05-09 22:09:00) [11]


> компонентик то на форму кинь )))))

Так я его отудава и не убирал


Пусик   (2006-05-09 22:09:00) [12]


> BAngel   (09.05.06 22:08) [17]
>
>
> > если я правильно телепатировал сабж, автор хочет посмотреть
>
> > цвет пикселя под курсором непроще ли реаллизовать это
> с
> > помощью панели и для замены цвета если нужно использовать
>
> > колордиалог?
>
> цвета то заменять нужно, но из тех которые я выбираю(часто
> приходится выбирать из картинки)


Ты разве не понимаешь, что у тебя на рисунке могут быть цвета, которых нет в TColorBox?


BAngel   (2006-05-09 22:08:00) [13]


> если я правильно телепатировал сабж, автор хочет посмотреть
> цвет пикселя под курсором непроще ли реаллизовать это с
> помощью панели и для замены цвета если нужно использовать
> колордиалог?

цвета то заменять нужно, но из тех которые я выбираю(часто приходится выбирать из картинки)


Gydvin   (2006-05-09 22:07:00) [14]

компонентик то на форму кинь )))))


BAngel   (2006-05-09 22:05:00) [15]


> возьми форме в свойстве color  выстави clred а в обработчик
>
> procedure TForm1.FormMouseDown(Sender: TObject; Button:
> TMouseButton;
>  Shift: TShiftState; X, Y: Integer);
> begin
> //вставь
> colorbox1.Selected:=canvas.Pixels[x,y];
> end;
>
> работает?

ничего не понимаю, выдаёт
[Error] first.pas(178): Undeclared identifier: 'ColorBox1'


Gydvin   (2006-05-09 21:58:00) [16]


> а еще можно Tmemo - то же самое почти.


если я правильно телепатировал сабж, автор хочет посмотреть цвет пикселя под курсором непроще ли реаллизовать это с помощью панели и для замены цвета если нужно использовать колордиалог?


Gydvin   (2006-05-09 21:55:00) [17]

возьми форме в свойстве color  выстави clred а в обработчик

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
//вставь
colorbox1.Selected:=canvas.Pixels[x,y];
end;


работает?


KilkennyCat   (2006-05-09 21:54:00) [18]


> [10] Gydvin ©   (09.05.06 21:53)


а еще можно Tmemo - то же самое почти.


BAngel   (2006-05-09 21:54:00) [19]


> то самое, или тоже самое?

ну цвета те самые выдаёт. Один чуть светлее другой по темнее и не меняются при повторном нажимании


Gydvin   (2006-05-09 21:53:00) [20]

непойму зачем tcolorbox использовал бы лучше tpanel.color


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо