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

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

Выделение области на рисунке [D5, D6, D7, Win2k, WinXP]


presston ©   (2008-05-22 21:30:00) 

Вопрос такой. Есть рисунок (фотография и тд, неважно). на нем задана точка. прога дожна выделять круглую область в радиусе 1 см (либо там 100 пикселей, неважно) и разбивать ее на равномерные секторы. все..

очень прошу помощи. и очень срочно!! буду благодарен за любую информацию

icq 2800200


presston   (2008-05-26 14:35:00) [1]

помогите хотя бы сделать наложение сетки по всему рисунку (с квадратными ячейками). очень нужно!!! пожалуйста


presston   (2008-05-24 14:33:00) [2]

Eraser, я не знаю каким образом такое реализовать:))


Eraser   (2008-05-24 03:13:00) [3]

> [12] presston   (23.05.08 22:30)

а что конкретно не получается?


presston   (2008-05-23 22:30:00) [4]

если так сложно.. то может хоть что-то типа паутины с центром? очень нужна ваша помощь


presston   (2008-05-23 12:14:00) [5]

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


ЮЮ   (2008-05-23 11:50:00) [6]

> ЮЮ, а как сделать автоматическую разбивку на сектора?


сразу после кода, реализующего
 открывается картинка (бмп).
 с нее создается временный ч/б файл-картинка.
 находится заданая точка и вокруг нее стоится кружок

помещается код
весь этот круг разбиться на равные сектора

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


presston   (2008-05-23 11:42:00) [7]

пс. заданя точка уже как бы найдена. меня интерисует дальше


presston   (2008-05-23 11:40:00) [8]

DVM, кругом с центром в заданой точке:) параметр - радиус

ЮЮ, а как сделать автоматическую разбивку на сектора?

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


ЮЮ   (2008-05-23 11:15:00) [9]

> поправка: рисунок в bmp формате. выделение области должно
> быть виртуальным как бы (ну вот как в редакторах графики,
> при обработке). не нужно никаких реальных линий


Изображение рисунка из файла на экране монитора — это и есть перенос из реальнсти в виртуальность.

Не сохраняй ничего обратно в файл, не порти битмап в памяти, куда считал изображение, рисуй сначала картинку, затем линии на компонентне отобпажения, и никаких линий не будкт.

З.Ы. Можно и линии рисовать так, что повторное её рисование будет «стирать» её проявлении при первом рисовании


DVM   (2008-05-23 10:46:00) [10]


> выделение области должно быть виртуальным как бы

как должна быть задана область?


presston   (2008-05-23 10:35:00) [11]

MBo, спасибо!) это уже ближе к теме))

это выделение области. а как на счет ее разбиения на сектора?


MBo   (2008-05-23 09:52:00) [12]

Задано CenterX, CenterY, R, NSectors

AngleDelta = 2*Pi/Nsectors

if Sqr(X - CenterX) + Sqr(Y - CenterY) >= Sqr(R) then
 Sector = -1 (точка вне круга)
else begin
 Angle = ArcTan2(Y - CenterY,  X - CenterX)
 if Angle < 0 then
    Angle = Angle + 2*Pi
 Sector = Trunc(Angle / AngleDelta)
end


presston   (2008-05-23 09:39:00) [13]

antonn, спасибо конечно за предложение:) проблема в том что мне особо рабочий не нужен. нужно что-то типа для демонстрации (можно вообще не рабочий, но по теме)


antonn   (2008-05-23 09:16:00) [14]

10WMZ :)


presston   (2008-05-22 21:35:00) [15]

поправка: рисунок в bmp формате. выделение области должно быть виртуальным как бы (ну вот как в редакторах графики, при обработке). не нужно никаких реальных линий


Наверх

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