У меня довольно странная проблема со свойствами ширины и высоты компонента TImage. В качестве теста я рисую красную точку в (что должно быть) центре компонента TImage, беря среднюю точку ширины и высоты TImage и рисуя точку там, чтобы она была центрирована (centerPoint2D - это TPoint):
// The center point is the center of the display area.
centerPoint2D.X := Trunc(Image1.Width / 2);
centerPoint2D.Y := Trunc(Image1.Height / 2);
Image1.Canvas.Brush.Color := clRed;
Image1.Canvas.Brush.Style := bsSolid;
Image1.Canvas.Ellipse(centerPoint2D.X - 5, centerPoint2D.Y - 5, centerPoint2D.X + 5, centerPoint2D.Y + 5);
Красная точка появляется не в центре изображения, а где-то значительно ниже и справа от него. Кроме того, любой текст, который я печатаю на компоненте, выглядит растянутым. Как будто TImage намного больше, чем сообщаемые размеры, больше, чем то, что видно из видимой области просмотра, как будто то, что видно, обрезается.
Дополнительные детали. Элемент управления TImage находится на TPanel, который находится на TGroupBox, который находится на TFrame. Однако все эти компоненты имеют свойство Align, установленное в alClient. Сам TFrame имеет свойство Align, установленное в alNone. Однако экземпляр этого, который находится в Форме, имеет свойство Align, установленное в alClient во время разработки. Другими словами, это не должен быть случай, когда компонент TImage больше, чем его часть, видимая во время выполнения. Кроме того, представленные размеры, по-видимому, соответствуют размеру компонента в том виде, в каком он отображается на экране, но у меня нет утилиты «Пиксельная линейка», чтобы объективно это подтвердить.