保存旋转图像

0 delphi delphi-5

使用此免费软件为我当地的园艺俱乐部数据库更新一些 D5-ent 内容。

http://www.delphiarea.com/products/delphi-components/rotateimage/

它有一个 LoadFromFile,速度足够快并且工作得很好,但它没有 SaveToFile。网站上的论坛有一些关于拯救的非常古老的问题,但没有明确的答案。

有人可以告诉我如何在旋转图像后保存图像吗?

我在网上找到了很多用于图像保存的例程,但似乎都不起作用。它保存了一些东西,但它不再是 JPG。我尝试寻找一种保存画布的方法,但无法编译任何内容。一般来说,他们都因“无法将位图/画布、图片/等分配给 TRotateImage”而崩溃

有点超出我的深度。

ps 尝试过 ImageEx 和 Image32,但是 D5 的两个版本都太复杂,无法仅用于保存旋转文件。

Cal*_*ior 5

根据 的文档TRotateImage,它有一个名为 的属性RotatedBitmap,它将旋转的图像存储为位图。TJPEGImage您可以使用该单元中的类轻松将该位图转换为 JPEG 图像jpeg

uses jpeg;

procedure SaveRotatedImage;
var
  jpg: TJPEGImage;
begin
  jpg := TJPEGImage.Create();
  try
    jpg.Assign(YourRotateImage.RotatedBitmap);
    jpg.SaveToFile('filename.jpg');
  finally
    jpg.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

作为 的替代方案TRotateImage,我推荐该Graphics32库,它可以使用各种插值内核对图像应用更复杂的转换,处理透明度等等。但如果您只需要轮换并且对组件的结果感到满意,那么您不妨继续使用它。