Új hozzászólás Aktív témák

  • lao ce

    aktív tag

    válasz Fifty #814 üzenetére

    en azt hiszem ezt ugy szoktak megoldani, hogy eloszor megrajzoljak a memoriaban amire szukseg van es aztan egy lepesben kirakjak a lathato teruletre.

    szoval en ugy csinalnam hogy lenne egy image ami a haromszogemet tartja:
    var
    ...triangle: tbitmap;

    aztan ezt elokeszitenem a form create-ben:
    ...triangle := TBitmap.Create;
    ...triangle.PixelFormat := pf32bit;
    ...triangle.Width := Form1.Width;
    ...triangle.Height := Form1.Height;

    es persze fel is szabaditanam a destroy-ban vagy close-ban:
    triangle.Free;

    a mousemove-ban meg eloszor visszaallitanam a 'szurket' a triangle image-ben(azaz torles)
    ...triangle.Canvas.Brush.Color := clSilver;
    ...triangle.Canvas.Rectangle (0,0, Form1.Width, Form1.Height);

    aztan megrajzolnam a haromszoget a mar 'ures' kepben:
    ...triangle.Canvas.Brush.Color := clWhite;
    ...triangle.Canvas.Polygon([
    ......point(100, 500),
    ......point(300, 500),
    ......point(X, Y)
    ...]);
    (az utolso sor X es Y koordinataja az egerpozicio, ami a mousemove procedure parametere)

    vegul ugyanitt a mousemove-ban, a triangle nevezetu image tartalmat kikopiznam a form canvasara ezzel a konnyeden ertheto, minden igazi programozoba dns szinten oroklott utasitassal:
    ...BitBlt(
    ......Form1.Canvas.Handle,
    ......0, 0,
    ......Form1.Width, Form1.Height,
    ......triangle.Canvas.Handle,
    ......0, 0,
    ......srccopy
    ...);


    jo szorakozast.

    [Szerkesztve]

    nicht kompot

Új hozzászólás Aktív témák