jak można narysować koło na image1 za pomocą myszki (tak jak w Programie Paint), ale bez migania?
Rysowałem na bitmapie pamięciowej i ładowałem od image, ale obrazek migał przy dużych obrazkach.
jak można narysować koło na image1 za pomocą myszki (tak jak w Programie Paint), ale bez migania?
Rysowałem na bitmapie pamięciowej i ładowałem od image, ale obrazek migał przy dużych obrazkach.
na imageu to raczej bedzie ciezko wyeliminowac miganie, sugerowal bym raczej DXDraw z DelphiX - tu migac raczej nie powinno [cya]
--
-=[.SlimY.]=-
Bez przesady, od razu dxdraw byś mu chciał wcisnąć? :) Wystarczy paintbox z zakładki system, albo nawet sama forma. Ona też przecież ma canvas :)
Pozdrówka
bufforowanie powinno wystarczyc ;]
na formie tez chyba bedzie migac, a po zaslonieniu okna trzeba je potem odswiezac. jak rysujemy na canvasie to od razu widac to na ekranie i dlatego to miganie, a w dxdraw dopiero po odswiezeniu
--
-=[.SlimY.]=-
Przecież można rysować na buforze, a potem przenosić na canvas. Stosuję takie coś od dawna i zawsze działa bezbłędnie. Problem polegał na tym, że jarekow rysował to na image'u. Komponent ten ma specyficzne właściwości - miga w takich sytuacjach. A co do dxdraw, to nie wiem, czy dobrym pomysłem jest używanie directx'a w normalnych programach. Zapewne sam program będzie zajmował dużo więcej, a przecież da się to zrobić dużo prościej :)
Pozdrówka
Przecież można rysować na buforze, a potem przenosić na canvas.
A co ja napisałem ??
var
xs,ys,i : integer;
bmp : tbitmap; //do glowenego var
begin
{w oncreate}
bmp := tbitmap.create;
bmp.width := image1.width;
bmp.height := image1.height;
a teraz w procedurze
for i:=0 to 360 do
begin
xs := round(promiensin(i)+forward_x);
ys := round(promiencos(i)+forward_y);
bmp.canvas.pixels[xs,ys] := 0;
end;
end;
reszty nie psize bo nie mam czasu / jak bym mialczas to bym napisał ci cały program ale nie mam
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.