Odświeżanie formy z TImage

Odpowiedz Nowy wątek
2006-12-07 11:31
edgars
0

witam

robie aplikacje z własnym designem formy, forma jest ustawiona BorderStyle:=bsNone;
na formie kilka TImage z odpowiednimi Align i z moziliwościa resize formy,

podczas resize`u formy obrazki w TImage brzydko mrugają, dodanie Repaint do zdarzenia OnResize niewiele pomaga jest tylko troszke lepiej,

co moglbym zrobić zeby sie pozbyć tego stroboskopowego efektu?

Pozostało 580 znaków

2006-12-07 11:37
0

Sprawdź dla

Form.DoubleBuffered:=true;

Nie łam się, i tak ktoś zrobił to za ciebie
<hr style="color: #B10C0C; width: 10%; margin-left: 0" />
LUDZIE goto NIE UŻYWA SIĘ WSZĘDZIE GDZIE MOŻNA, TYLKO TAM GDZIE TRZEBA

Pozostało 580 znaków

2006-12-07 13:54
0

jeśli robisz własny design formy to nie rób go na TImage
wszystko rysuj na canvasie formy bedzie o wiele szybciej i oszczedniej na pamięci
i mrygać też nie będzie
(i lepiej sie pisze program bo Image nie wala się po formie w zdarzeniu OnPaint formularza)
Przykładowy prog zkodem masz tu
www.piotrekdp.cba.pl/pokaztlo.rar
Rysunek zawsze można albo wrzucić do zasobów
a design taki (na szbko)
user image

Pozostało 580 znaków

2006-12-07 14:20
0

tylko tutaj chyba musi być ten plik z tłem w *.bmp bo inaczej nie wczyta. ....

Pozostało 580 znaków

2006-12-07 14:35
edgars
0

DoubleBuffered tez nie rozwiazuje mojego problemu, bede probowal z tym canvasem

dzieki za pomoc

Pozostało 580 znaków

2006-12-07 14:49
piotrekdp not logged
0

też wczyta jpg
tylko potem konwersja do bmp

tlo:TJpegImage;
bitmapa :TBitmap;
tlo:=TJpegImage.create
tlo.LoadFromFile('tlo.jpg');
Bitmapa:=TBitmap.Create;
Bitmapa.Assign(Tlo);
Tlo.free;

i już mamy bmp zamiast jpg :)
tylko nie jestem pewien czy w przykładzie dałem zwalnianie tła w OnClose;
bo w OnCloseFormy należy zwolnć bitmape;

jeśli chcesz zapisać jpg do zasobów programu to Musito być jako RT_RCDATA

   Procedure LoadJpgRes(ResName:Pchar;var Jpg:TjpegImage);
   begin
   Res := TResourceStream.Create(hInstance, ResName, RT_RCDATA);
   Jpg.LoadFromStream(Res);
   Res.free;
   end;

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0