babak869
یک شنبه 09 مرداد 1384, 00:06 صبح
با سلام
من دارم یه برنامه مشابه Paint ویندوز مینویسم.و میخواستم امکاناتی مثل کشیدن خط و دایره و پاک کردن خطوط و اشکال و نوشتن متن و ...داشته باشم.از دوستان کسی هست که اطلاعات جامعی به من بده.البته من چند تا کد برای نوشتن چند قسمت رو دارم مثل نوشتن با اسپری که کدش رو اینجامیزارم.اگه ممکن بود منو راهنمایی کنید
متشکرم
بابک
*****************************
*****************************
procedure Spray(Canvas: TCanvas; x, y, r: Integer; Color: TColor);
var
rad, a: Single;
i: Integer;
begin
for i := 0 to 100 do
begin
a := Random * 2 * pi;
rad := Random * r;
Canvas.Pixels[x + Round(rad * Cos(a)), y + Round(rad * Sin(a))] := Color;
end;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift then Spray(Image1.Canvas, x, y, 40, clRed);
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then Spray(Image1.Canvas, x, y, 40, clRed);
end;
*********************************************
*********************************************
من دارم یه برنامه مشابه Paint ویندوز مینویسم.و میخواستم امکاناتی مثل کشیدن خط و دایره و پاک کردن خطوط و اشکال و نوشتن متن و ...داشته باشم.از دوستان کسی هست که اطلاعات جامعی به من بده.البته من چند تا کد برای نوشتن چند قسمت رو دارم مثل نوشتن با اسپری که کدش رو اینجامیزارم.اگه ممکن بود منو راهنمایی کنید
متشکرم
بابک
*****************************
*****************************
procedure Spray(Canvas: TCanvas; x, y, r: Integer; Color: TColor);
var
rad, a: Single;
i: Integer;
begin
for i := 0 to 100 do
begin
a := Random * 2 * pi;
rad := Random * r;
Canvas.Pixels[x + Round(rad * Cos(a)), y + Round(rad * Sin(a))] := Color;
end;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift then Spray(Image1.Canvas, x, y, 40, clRed);
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then Spray(Image1.Canvas, x, y, 40, clRed);
end;
*********************************************
*********************************************