![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение цвета пикселя в изображении. [D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]
evrey © (2004-02-26 20:21:00)Проблема состоит в том, нужно расположить большую картинку на форме, при этом при изменении разрешения чтобы менялся ее размер.
Это можно реализовать выставлением в Image свойства Stretch в True, но при этом под курсором цвет текущего пикселя не такой как намом деле.
Уже второй день голову ломаю ничего не получается.
MBo (2004-02-27 08:02:00) [1]Color:=Image.Canvas.Pixels[X*ImageWidth div BmpWidth, аналогично для Y];
Gero (2004-02-26 22:57:00) [2]TCanvas.StretchDraw.
Масштабирует правильно.
evrey (2004-02-26 21:17:00) [3]Дело тут даже не в том чтобы получить цвет пикселя, я тут полазил в инете и понял мне наверное нужно правильно маштабировать картинку. Изменять битовую матрицу (уменьшать, увеличивать). Но как это сделать?
Gero (2004-02-26 21:08:00) [4]Или попробуй его скрыть, Refresh, и снова показать.
evrey (2004-02-26 21:03:00) [5]Поначалу я так и хотел сделать, но на сколько сдвигать курсор, в начале картинки они совпадают, но при росте координат растет и разница, причем ни какая последовательность не определяется.
Gero (2004-02-26 20:57:00) [6]Если дело в пикселе под курсром, то сдвинь курсор, сделай refresh и верни курсор на место...
evrey (2004-02-26 20:31:00) [7]Нет Refresh не помогает.
Как я разбиразлся он эту картинку уменьшает (увеличивает) только на экране, а так обращается к исходной картинке.
Image (2004-02-26 20:23:00) [8]Refresh пробовал ???