2013-06-14 7 views
2

Кто-нибудь знает, какая максимальная ширина и высота растрового изображения в FireMonkey TImageViewer? Я рисую векторную графику в TImageViewer. Я могу только увеличить масштаб до определенного значения, после чего получаю выделение памяти.TImageviewer максимальный размер

+1

Что это за «определенная ценность», которая вызывает исключение? Какое исключение (точное сообщение ** исключений вы получаете)? Трудно ответить на вопрос, который спрашивает: «Как исправить неуказанное исключение, которое происходит, когда я превосхожу значение, которое я не даю вам при масштабировании в TImageViewer?» Можете ли вы изменить свой вопрос и предоставить более подробную информацию? Благодарю. –

+0

Не существует ограничений на размер растрового изображения, пожалуйста, создайте простой пример того, как воспроизводить вашу проблему. – Peter

+0

@ PeterVonča Я также заметил этот предел. Если вы попытаетесь загрузить большое изображение (например: 8000 X 5000 px) в TImage или TBitmap, вы получите исключение памяти. – slotomo

ответ

1

Я тестировал это на двух отдельных компьютерах, и казалось бы, что фактическое ограничение по размеру растрового изображения в Firemonkey равно 8000x8000 px, что означает ширину и высоту соответственно с размером 8000 пикселей.

Это то, что я наблюдал, если кто-то получает другой результат, пожалуйста, дайте мне знать.

Как вы планируете обойти это, я бы предложил рассеять исходное изображение на несколько частей, чтобы ни одна из частей не превзошла предел, а затем назначила каждую часть другому компоненту Bitmap (например, TImageViewer), а затем сделайте все это вместе в целом.

+0

Спасибо. Я просто проверю, чтобы подтвердить, прежде чем отметить это как ответ. Только один вопрос: означает ли это, что ширина и высота ограничены соответственно 8000 или общий предел пикселей 8000 x 8000, поэтому могу ли я установить растровое изображение на 9000 x 7000 пикселей? ps..Может ли моя учетная запись изменять с user1980303? :( – Christo

+0

@ user1980303, ширина и высота ограничены 8000 px каждый соответственно, как только один из них перейдет через предел, он выкинет исключение. – Peter

+0

На самом деле пределы составляют 8192 пикселя x 8192 пикселя, если вы используете Direct 10/Direct2D (Delphi использует Direct 10, в Direct 11 вы можете создавать до 16384 пикселей x 16384 пикселей). Если вы добавите GlobalUseDX10: = False и GlobalUseDirect2D: = False, в ваш проект вы можете создавать большие растровые изображения (я считаю, до 32767 пикселей x 32767 пикселей). – pani

Смежные вопросы