6

如何清除 TJPEGImage 图像?

JPG.Width := 0诀窍是行不通的。此外,我不想创建一个空位图(0x0 像素)并将其分配给 jpeg。

4

3 回答 3

9

你可能会使用这样的东西(这里使用插入的类来访问受保护的方法):

type
  TJPEGImage = class(jpeg.TJPEGImage);

implementation

procedure TForm1.Button1Click(Sender: TObject);
var
  JPEGImage: TJPEGImage;
begin
  JPEGImage := TJPEGImage.Create;
  try
    // this should recreate the internal bitmap
    JPEGImage.NewBitmap;
    // this should recreate the internal image stream
    JPEGImage.NewImage;
    // here the memory used by the image should be released
  finally
    JPEGImage.Free;
  end;
end;
于 2012-12-17T19:42:09.310 回答
3

如果您不想使用 FreeAndNil 并将图像保留为空...

Procedure EmptyJPG(jpg:TJpegImage);
var
 j:TJpegImage;
begin
  j := TJpegImage.Create;
  try
    jpg.Assign(j);
  finally
    j.Free;
  end;
end;
于 2012-12-17T19:08:05.080 回答
0

将 Tshape 组件放在 TImage 组件的背景上

Image1 : Timage
.
.
Image1.Picture.Graphic.Assign(nil);
于 2015-08-27T11:30:00.407 回答