![]() |
|
#1
|
|||
|
|||
![]() Начинаю с загрузки изображения, далее putmouse.зафиксировать координату в первом квадрате, от неё идти по линии вверх, влево, вправо, вниз.
с помощью осей координат. (либо пока не закончится канва, либо до чёрного пикселя) распознавание чёрного пикселя и закраска области. повторить процедуры. Помогите, если не сложно... ![]() |
#2
|
|||
|
|||
![]() Ну а сами что делали?
|
#3
|
|||
|
|||
![]() У меня есть вот это
Код:
unit Пр; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; OpenDialog1: TOpenDialog; Image1: TImage; procedure Button1Click(Sender: TObject); procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if opendialog1.Execute then Image1.Picture.LoadFromFile(opendialog1.Filename); end; procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Form1.caption := inttostr(x)+' : '+inttostr(y); end; procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Form1.caption := inttostr(x)+' : '+inttostr(y); end; end. Не знаю как от этой самой координаты в стороны проверять границы. Знаю как закрашивать Код:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin image1.Canvas.Brush.Color:=clBlack; image1.Canvas.FloodFill(x,y,rgb(100,100,100),fsBorder); end; Admin: Пользуемся тегами! Последний раз редактировалось Admin, 25.07.2010 в 16:53. |