Changeset 10 for trunk/UGraphic.pas
- Timestamp:
- Sep 22, 2014, 3:07:02 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/UGraphic.pas
r9 r10 72 72 public 73 73 function GetDataSize: Integer; 74 procedure PaintToCanvas(Canvas: TCanvas );74 procedure PaintToCanvas(Canvas: TCanvas; Rect: TRect); 75 75 procedure Clear; 76 76 procedure Random; 77 procedure Gradient; 77 78 procedure Flip; 78 79 procedure Mirror; … … 435 436 end; 436 437 437 procedure TGBitmap.PaintToCanvas(Canvas: TCanvas );438 procedure TGBitmap.PaintToCanvas(Canvas: TCanvas; Rect: TRect); 438 439 var 439 440 X, Y: Integer; … … 442 443 try 443 444 Canvas.Lock; 444 for Y := 0 to Size.Y - 1 do 445 for X := 0 to Size.X - 1 do begin 445 for Y := Rect.Top to Rect.Bottom - 1 do 446 for X := Rect.Left to Rect.Right - 1 do 447 if (X >= 0) and (X < Size.X) and (Y >= 0) and (Y < Size.Y) then begin 446 448 Pixel := Pixels[X, Y]; 447 Canvas.Pixels[X , Y] := Pixel.ToTColor;449 Canvas.Pixels[X - Rect.Left, Y - Rect.Top] := Pixel.ToTColor; 448 450 Pixel.Free; 449 451 end; … … 475 477 for X := 0 to Size.X - 1 do begin 476 478 Color.FromTColor(System.Random($ffffff)); 479 F := Cardinal(Color.Data.GetInteger); 480 481 Pixels[X, Y] := Color; 482 end; 483 Color.Free; 484 end; 485 486 procedure TGBitmap.Gradient; 487 var 488 X, Y: Integer; 489 Color: TGColor; 490 F: Cardinal; 491 N: Integer; 492 begin 493 Color := TGColor.Create; 494 Color.Format := ColorFormat; 495 for Y := 0 to Size.Y - 1 do 496 for X := 0 to Size.X - 1 do begin 497 if Y < Size.Y div 4 then N := $000001 498 else if Y < Size.Y div 4 * 2 then N := $000100 499 else if Y < Size.Y div 4 * 3 then N := $010000 500 else N := $010101; 501 502 Color.FromTColor(N * (X * 255 div Size.X)); 477 503 F := Cardinal(Color.Data.GetInteger); 478 504
Note:
See TracChangeset
for help on using the changeset viewer.