1. Креирати апликацију у delphi-ју у којој се преко целе форме исцртава смајли.  Смајли треба да се прилагоди величини прозора, тако да се при развлачењу прозора развлачи и смајли (за инфо).

image

ово је по покретању апликације 

 image

ово је развучени смајли

Решење:

Код оваквих задатака је битно да задате тачке буду у зависности од ширине и висине платна по којем се исцртава. Код за горе урађени пример:

procedure TForm1.FormPaint(Sender: TObject);
begin
with canvas do
begin
  ellipse(0,0,clientwidth, clientheight);
    ellipse(round(clientwidth/4),round(clientheight/4),(round(clientwidth/4)+round(clientwidth/20)),(round(clientheight/4)+round(clientwidth/20)) );
    ellipse(round(clientwidth/4)*3,round(clientheight/4),round(clientwidth/4)*3+round(clientwidth/20),(round(clientheight/4)+round(clientwidth/20)) );
        arc(round(clientwidth/4),round(2*clientheight/4),
    round(clientwidth/4)*3, round(3*clientheight/4),
    round(clientwidth/4),round(2.6*clientheight/4) ,
    round(clientwidth/4)*3, round(2.6*clientheight/4));
end;
end;

procedure TForm1.FormResize(Sender: TObject);
begin
repaint;
end;

end.

Advertisements