![]() |
|
|
#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. |