Нарисовать в квадрате X*X пикселей изображение, чтобы с каждой стороны квадрата осталось 5% неиспользованного места

Дать возможность пользователю ввести целое число X от 100 до 400 и выбрать цвет из палитры Windows. Нарисовать в квадрате X*X пикселей изображение, чтобы с каждой стороны квадрата осталось 5% неиспользованного места, тем цветом, который выбрал пользователь на белом фоне.

code: #delphi
type
  TForm1 = class(TForm)
    Image1: TImage;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    ColorDialog1: TColorDialog;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  Col  : TColor;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
var X,A : integer;
begin
    Image1.Picture.Loadfromfile('d:\zylex[1].bmp');
    X := strtoint(edit1.Text);
    Image1.Height := X;
    Image1.Width  := X;
    form1.Canvas.Brush.Color := Col;
    A := Trunc(X/100)*5;
    form1.Canvas.Rectangle(Image1.Left-A,Image1.Top-A,Image1.Left+X+A,Image1.Top+X+A);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
    if ColorDialog1.Execute then
       Col := ColorDialog1.Color;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
    Col := clBlack;
end;

автор: Zylex

Поделиться:

Похожие статьи: