Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [Property] Empty bitmap. Why? (https://www.delphipraxis.net/147430-%5Bproperty%5D-empty-bitmap-why.html)

WojTec 8. Feb 2010 14:13


[Property] Empty bitmap. Why?
 
Delphi-Quellcode:
type
  // Base
  TCustomFilterLayer = class(TPositionedLayer)
  private
    FBitmap: TBitmap32;
    // ...
  protected
    procedure Paint(Buffer: TBitmap32); override; // get layer rect and repaint buffer with filter; work with FBitmap
    procedure DoFilter(Buffer: TBitmap32); virtual; abstract;
  public
    constructor Create(ALayerCollection: TLayerCollection); override; // create FBitmap
    destructor Destroy; override; // free FBitmap
  published
    property Bitmap: TBitmap32 read FBitmap;
    // ...
  end;

  // Example filter
  TInvertFilterLayer = class(TCustomFilterLayer)
  protected
    procedure DoFilter(Buffer: TBitmap32); override; // buffer is received in TCustomFilterLayer.Paint()
  end;

var
  L: TCustomFilterLayer;
// ...
  L := TInvertFilterLayer.Create(ImgView.Layers);
  TInvertFilterLayer(L).Bitmap.SaveToFile(...);
Only one task for TCustomFilterLayer is receive bitmap from buffer in rect=layer rect. So, in filter class just need to override DoFilter() method to get processed image in layer. It working for any filter I created.

But question is about Bitmap property: when I want to save it, eg. to file, output is empty. Why?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz