PDA

Просмотр полной версии : Задачка на графику в Delphi


Knight_of_Darkness
03.10.2007, 17:26
Дано: Черный рисунок 300х100 пикселей, по которому произвольно расставлены 4 белых точки(по 1px). Задача в следующем: определить и вывести местоположение каждой точки.
Кто поможет - буду признателен.

a1ex
03.10.2007, 17:29
ТОбишь, тебе нужно что бы пре запуске программы она посказывала координаты этих 4-ёх точек?

Knight_of_Darkness
03.10.2007, 18:08
Ну не при запуске, а при нажатии на кнопку. И программа должна быть не консольной, а Vcl.

a1ex
03.10.2007, 18:39
Блин дружище чё-та я немогу найти исходник похожой проги.
Найду - дам.
Ненайду сорри.

da_ff
04.10.2007, 09:22
а где должны проходить оси координат?

Brun
04.10.2007, 11:14
for i := 1 to 300 do
for j := 1 to 100 do
Begin
if (Form1.Image1.Canvas.Pixels [i,j] = 255) then
Begin
Form1.StringGrid1.Cells[0,RowCount-1] := IntToStr (i);
Form1.StringGrid1.Cells[1,RowCount-1] := IntToStr (j);
RowCount := RowCount + 1;
End;
End;

где 255 - цвет точки которых ты ищеш.

P.S. Не проверял, так как нет под рукой Delphi. Но принцып должен быть такой.

Knight_of_Darkness
06.10.2007, 17:57
Решил пример так:


if (Form1.Image1.Canvas.Pixels [i,j] = $00FFFFFF) then
Begin
Form1.StringGrid1.Cells[0,Form1.StringGrid1.RowCount-1] := IntToStr (i);
Form1.StringGrid1.Cells[1,Form1.StringGrid1.RowCount-1] := IntToStr (j);
Form1.StringGrid1.RowCount := Form1.StringGrid1.RowCount + 1;
End;


заменил 255 на $00FFFFFF и получилось, сенкс. Всем, кто учавствовал ставлю +2 -- что могу.