Changeset 31 for trunk/Packages/FastGraphics
- Timestamp:
- Jan 4, 2017, 11:49:56 PM (8 years ago)
- Location:
- trunk/Packages/FastGraphics
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Packages/FastGraphics/ColorFormats/UColorRGB8.pas
r29 r31 37 37 constructor Create(Color: TColorRGB8); 38 38 procedure SetColorName(ColorName: TColorName); override; 39 procedure SetColor(Color: TColor); override; 39 40 procedure SetRandom; override; 40 41 end; … … 47 48 function FillGetColor(Position: TPoint): TColorRGB8; 48 49 protected 50 function GetPixel(X, Y: Integer): IBColor; override; 51 procedure SetPixel(X, Y: Integer; AValue: IBColor); override; 49 52 procedure SetSize(AValue: TPoint); override; 50 53 public 51 54 Pixmap: TPixmapRGB8; 55 procedure Mirror; override; 56 procedure Flip; override; 52 57 procedure Fill(Color: IBColor); override; 53 58 procedure Fill(Func: TGetColorPos); override; … … 121 126 end; 122 127 128 procedure TBColorRGB8.SetColor(Color: TColor); 129 begin 130 Value := TColorRGB8.Create((Color shr 0) and $ff, (Color shr 8) and $ff, (Color shr 16) and $ff); 131 end; 132 123 133 procedure TBColorRGB8.SetRandom; 124 134 begin … … 131 141 begin 132 142 Result := (FillCallBack(Position) as TBColorRGB8).Value; 143 end; 144 145 function TBPixmapRGB8.GetPixel(X, Y: Integer): IBColor; 146 begin 147 Result := TBColorRGB8.Create(Pixmap.Pixels[X, Y]); 148 end; 149 150 procedure TBPixmapRGB8.SetPixel(X, Y: Integer; AValue: IBColor); 151 begin 152 Pixmap.Pixels[X, Y] := (AValue as TBColorRGB8).Value; 133 153 end; 134 154 … … 139 159 end; 140 160 161 procedure TBPixmapRGB8.Mirror; 162 begin 163 Pixmap.Mirror; 164 end; 165 166 procedure TBPixmapRGB8.Flip; 167 begin 168 Pixmap.Flip; 169 end; 170 141 171 procedure TBPixmapRGB8.Fill(Color: IBColor); 142 172 begin -
trunk/Packages/FastGraphics/UFGraphics.pas
r29 r31 13 13 IBColor = interface 14 14 procedure SetColorName(ColorName: TColorName); 15 procedure SetColor(Color: TColor); 15 16 procedure SetRandom; 16 17 end; … … 20 21 TBColor = class(TInterfacedObject, IBColor) 21 22 procedure SetColorName(ColorName: TColorName); virtual; 23 procedure SetColor(Color: TColor); virtual; 22 24 procedure SetRandom; virtual; 23 25 end; … … 38 40 procedure SetSize(AValue: TPoint); virtual; 39 41 public 42 procedure Mirror; virtual; 43 procedure Flip; virtual; 40 44 procedure Fill(Color: IBColor); virtual; overload; 41 45 procedure Fill(Func: TGetColorPos); virtual; overload; … … 110 114 constructor Create; overload; 111 115 constructor Create(ColorFormat: TColorFormat; ColorName: TColorName); overload; 116 constructor Create(ColorFormat: TColorFormat; Color: TColor); overload; 112 117 destructor Destroy; override; 113 118 end; … … 239 244 end; 240 245 246 procedure TBColor.SetColor(Color: TColor); 247 begin 248 end; 249 241 250 procedure TBColor.SetRandom; 242 251 begin … … 334 343 end; 335 344 345 constructor TFColor.Create(ColorFormat: TColorFormat; Color: TColor); 346 begin 347 Self.ColorFormat := ColorFormat; 348 Backend.SetColor(Color); 349 end; 350 336 351 destructor TFColor.Destroy; 337 352 begin … … 355 370 if (FSize.X = AValue.X) and (FSize.Y = AValue.Y) then Exit; 356 371 FSize := AValue; 372 end; 373 374 procedure TBImage.Mirror; 375 begin 376 377 end; 378 379 procedure TBImage.Flip; 380 begin 357 381 end; 358 382 … … 449 473 procedure TFPixmap.Flip; 450 474 begin 451 475 FBackend.Flip; 452 476 end; 453 477 454 478 procedure TFPixmap.Mirror; 455 479 begin 456 480 FBackend.Mirror; 457 481 end; 458 482 -
trunk/Packages/FastGraphics/UGGraphics.pas
r30 r31 71 71 procedure Fill(Color: TGColor); overload; 72 72 procedure Fill(Func: TGGetColor); overload; 73 procedure Mirror; 74 procedure Flip; 73 75 function GetDataSize: Int64; virtual; 74 76 property Canvas: TGCanvas<TGColor> read FCanvas; … … 278 280 end; 279 281 282 procedure TGPixmap<TGColor>.Mirror; 283 var 284 X, Y: Integer; 285 Color: TGColor; 286 begin 287 for Y := 0 to FSize.Y - 1 do 288 for X := 0 to FSize.X div 2 - 1 do begin 289 Color := Pixels[X, Y]; 290 Pixels[X, Y] := Pixels[Size.X - 1 - X, Y]; 291 Pixels[Size.X - 1 - X, Y] := Color; 292 end; 293 end; 294 295 procedure TGPixmap<TGColor>.Flip; 296 var 297 X, Y: Integer; 298 Color: TGColor; 299 begin 300 for Y := 0 to FSize.Y div 2 - 1 do 301 for X := 0 to FSize.X - 1 do begin 302 Color := Pixels[X, Y]; 303 Pixels[X, Y] := Pixels[X, Size.Y - 1 - Y]; 304 Pixels[X, Size.Y - 1 - Y] := Color; 305 end; 306 end; 307 280 308 { TGPen } 281 309
Note:
See TracChangeset
for help on using the changeset viewer.