TBitmap在Android恢复应用程序时消失

时间:2014-12-11 09:56:31

标签: android delphi bitmap paint

我正在尝试在Android中使用位图,但不幸的是我遇到了一些问题。

我创建了一个使用Paint事件绘制的TBitmap内部自定义的TComponent:

  TMyThumbnail = class( TControl )
  private
    FBitmap: TBitmap;
  protected
    procedure Paint; override;
  public
    constructor Create( AOwner: TComponent ); override;
    destructor Destroy; override;
  end;

constructor TMyThumbnail.Create( AOwner: TComponent ); 
begin
  inherited;
  FBitmap := TBitmap.Create;
end;
destructor TMyThumbnail.Destroy; 
begin
  FBitmap.Free;
  inherited;
end;

procedure TMyThumbnail.Paint;
begin
   Canvas.BeginScene;
  try
    // * On Resume App the FBitmap is not Empty! 
    if ( not FBitmap.IsEmpty ) then
      // ** So FBitmap is not empty and Width/Height are correct but is drawn as empty or nothing happens !
      Canvas.DrawBitmap ( FBitmap, TRectF.( 0, 0, FBitmap.Width, FBitmap.Height ), ClientRect, 1 ); 
  finally
    Canvas.EndScene;
  end;
end;

分配或加载位图时,一切都正常进行,组件正确绘制位图。

问题发生在我从应用程序中出来并打电话或打开另一个应用程序/意图到我的外部应用程序时。

在应用程序中返回位图不为空并且具有正确的大小,只有未通过调用绘制:

Canvas.DrawBitmap (FBitmap, BitmapRect, ClientRect, 1 );

有什么建议吗? 感谢。

0 个答案:

没有答案