Delphi TBitmapra rajzolas

Delphi TBitmapra rajzolas
2012-08-27T10:53:54+02:00
2012-09-13T17:21:05+02:00
2022-11-26T20:50:40+01:00
zidan26
Kedves Mindenki!

MainBitmap, bt1,bt2,bt3 :TBitmap;

A MainBitmap -ra rajzolok a bt1,bt2,bt3-at. Ezt úgy végzem el hogy a bt1,bt2,bt3 megrajzolására timer1,timer2,timer3 szálakat használok. A MainBitmap -ra is külön szállal rajzolok, még pedig úgy hogy amelyik készen van (bt1,bt2,bt3) azt rajzolom rá. A gondom az hogy előfordul az néha hogy nem rajzolja rá valamelyiket(bt1,bt2,bt3) a MainBitmap -ra.


timer1: Timer1.Enabled:=False; if Assigned(bt1) then bt1.Free; bt1:= TBitmap.Create; bt1.Width := Bitmap.Width; bt1.Height := Bitmap.Height; bt1.PixelFormat := pf24bit; bt1.Canvas.Pen.Color := clBlack; bt1.Canvas.Brush.Color := clBlack; bt1.TransparentColor := clWhite; bt1.TransparentMode := tmFixed; bt1.Transparent := TRUE; rajzolas..... MainBitmap.Canvas.Draw(0,0,bt1); Timer1Boolean:=True; Timer2: Time2.Enabled:=False; if Assigned(bt2) then bt2.Free; bt2:= TBitmap.Create; bt2.Width := Bitmap.Width; bt2.Height := Bitmap.Height; bt2.PixelFormat := pf24bit; bt2.Canvas.Pen.Color := clBlack; bt2.TransparentColor := clWhite; bt2.TransparentMode := tmFixed; bt2.Transparent := TRUE; rajzolas..... MainBitmap.Canvas.Draw(0,0,bt2); Timer2Boolean:=True; Timer3: Time3.Enabled:=False; if Assigned(bt3) then bt3.Free; bt3:= TBitmap.Create; bt3.Width := Bitmap.Width; bt3.Height := Bitmap.Height; bt3.PixelFormat := pf24bit; bt3.Canvas.Pen.Color := clBlack; bt3.TransparentColor := clWhite; bt3.TransparentMode := tmFixed; bt3.Transparent := TRUE; rajzolas..... MainBitmap.Canvas.Draw(0,0,bt3); Timer3Boolean:=True; TimerMainBitmap: if not(BitmapClear) then begin if imagetNemKellLetorolni then begin Bitmap.Assign(Image1.Picture.Bitmap); imagetNemKellLetorolni := False; end else begin bt := TBitmap.Create; bt.Width := Bitmap.Width ; bt.Height := Bitmap.Height; bt.PixelFormat := pf24bit; bt.Canvas.Pen.Color := clBlack; bt.Canvas.Brush.Style := bsClear; Bitmap.Assign(bt); bt.Free; end; BitmapClear:=True; end; if Timer1Boolean and not InZoom1 then begin Bitmap.Canvas.Draw(0,0,bt1); InZoom1:=True; end; if Timer2Boolean and not InZoom2 then begin Bitmap.Canvas.Draw(0,0,bt2); InZoom2:=True; end; if Timer3Boolean and not InZoom3 then begin Bitmap.Canvas.Draw(0,0,bt3); InZoom3:=True; end; if (InZoom3 or InZoom2 or InZoom1) then begin Image1.Canvas.Pen.Mode := pmNot; Image1.Picture.Bitmap.Assign(Bitmap); end;


zidan
Mutasd a teljes hozzászólást!
Szia!

Keress rá Végh László Delphi jegyzeteire.
Az egyik oktatóanyagban pontosan szál segítségével rajzol.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd