【问题标题】:Delphi 10 TImage, image width for mobileDelphi 10 TImage,移动端的图像宽度
【发布时间】:2016-10-15 06:50:12
【问题描述】:

我正在尝试使用 Delphi 10 Berlin 为智能设备构建应用程序。在这个应用程序中,我想加载或拍摄照片,而不是我必须定位另一个具有相同 X 位置和图像宽度的组件。我的问题是,当我将图像分配给 TImage 控件时,位图不会占用 TImage 控件的所有区域,图像更小。如何在 TImage 控件中获取位图的真实 X 位置和宽度?这是我的代码:

begin
   if Image1.Bitmap.Height > Image1.Bitmap.Width then
   begin
     Image1.Bitmap.Rotate(-90);
   end;
   Image1.Bitmap.Assign(Image);
   Memo1.Width := Image1.Width;
   Memo1.Text := '';
end;

【问题讨论】:

  • 我尝试了所有 WrapMode 值,但是,将照片分配给 TImage 控件后,图像变得比图像控件小,我尝试拉伸,但图像变得扭曲。我需要将 WrapMode 属性设置为“FIT”,并将其他控件的宽度更改为屏幕上出现的图像宽度以保持它们对齐。将图像加载到 timage 控件的位图属性后,是否有一些代码可以获取图像宽度?

标签: delphi bitmap timage


【解决方案1】:

FireMonkey TImage 组件有一个名为WrapMode 的属性,可帮助您控制图像位图在TImageSurface 上的呈现方式。

您可以在此处的官方文档中阅读更多相关信息:

http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Objects.TImage.WrapMode

注意:此属性及其相关功能仅适用于 FireMonkey 版本的 TImage,不适用于 VCL 版本。

【讨论】:

  • 在 VCL 中,TImage 具有 AutoSizeCenterProportionalStretch 属性。
  • 我使用的是 FireMonkey 而不是 VCL,这是一个移动应用程序。
猜你喜欢
  • 2014-07-14
  • 2013-05-23
  • 1970-01-01
  • 1970-01-01
  • 2020-06-25
  • 1970-01-01
  • 2015-08-11
  • 2016-02-10
  • 2013-04-30
相关资源
最近更新 更多