Когда вы загружаете картинку (в design time), то картинка подвергается изменениям.
Обратите внимание на вторую строчку окна редактора IDE. Там по умолчанию выбрано Custom Size. Еще есть поля Width и Height
Алгоритм работы при загрузке картинки в IDE примерно следующий:
Если Width и Height равны 0 (по умолчанию), то эти размеры становятся равными размерам загруженной картинки поделенным на масштаб.
Загружаемая картинка масштабируется таким образом чтобы соответствовать размерам Width и Height умноженным на текущий масштаб. Если картинка меньше, то она сжимается, если больше, то растягивается, а края заполняются прозрачным цветом.
Все пиксели картинки которые имеют выбранный цвет TransparentColor заменяются на прозрачный черный цвет.
Модифицированное таким образом изображение хранится в fmx-файле.
Т.е. размеры хранящегося в fmx-файле изображения могут отличаться от размеров исходного изображения. Если вы захотите на кнопочку 16x16 поместить 10-мегапиксельную фотку, то в fmx-файле будет хранится изображение 16x16.
А у Вас в примере масштабирования не происходит.
Image1.Bitmap.LoadFromStream(InStream);
Хранящееся изображение уже вписывается в границы TImage. Если оно меньше, то центрируется если больше, то сжимается с сохранением пропорций. В вашем примере в TImage вписывается исходное изображение из ресурса.
Вы можете поместить TImage на другой контрол и установить у неё Width и Height нужных (заведомо меньших) размеров, и установить свойство Align в Center.
Мне только не понятна целесообразность такого поведения. Получается в ресурсе хранятся лишние данные и всегда тратятся вычислительные ресурсы на масштабирование.