2013-06-14 3 views
2

누구든지 FireMonkey TImageViewer에서 비트 맵의 ​​최대 너비와 높이를 알고 있습니까? TImageViewer에서 벡터 그래픽을 그립니다. 나는 단지 특정 값을 확대 할 수있을 뿐이다. 그런 다음 나는 메모리 exceprion을 얻는다.TImageviewer 최대 크기

+1

예외를 발생시키는 "특정 값"은 ​​무엇입니까? 예외 (** 정확한 ** 예외 메시지가 표시됨)는 무엇입니까? "TImageViewer를 확대 할 때 제공하지 않는 값을 초과 할 때 발생하는 지정되지 않은 예외를 수정하려면 어떻게해야합니까?"라는 질문에 대답하는 것은 꽤 어렵습니다. 질문을 편집하고 자세한 내용을 제공 할 수 있습니까? 감사. –

+0

비트 맵 이미지의 크기에는 제한이 없습니다. 문제를 재현하는 방법에 대한 간단한 예를 만드십시오. – Peter

+0

@ PeterVonča 나는 또한 한계를 알아 차렸다. 큰 이미지 (예 : 8000 X 5000 px)를 TImage 또는 TBitmap으로로드하려고하면 메모리 예외가 발생합니다. – slotomo

답변

1

나는 2 대의 컴퓨터에서 이것을 테스트했으며 Firemonkey의 비트 맵에 대한 실제 크기 제한은 각각 폭과 높이가 각각 8000px 크기 인 것을 의미하는 8000x8000 px을 의미합니다.

다른 사람이 다른 결과를 얻는다면, 내가 알기로 이것이 사실입니다.

당신이 어떻게 할 것인가는 당신에게 달렸습니다. 소스 이미지를 여러 부분으로 나누어서 어느 부분도 한계를 초과하지 않도록하고, 각 부분을 다른 비트 맵 구성 요소 (예 : TImageViewer)에 할당 한 다음 모든 것을 하나로 모으십시오.

+0

감사합니다. 나는 그것을 대답으로 표시하기 전에 확인을 테스트 할 것입니다. 한 가지 질문 : 너비와 높이가 각각 8000 개로 제한되거나 픽셀 8000 x 8000의 전체 제한이므로 비트 맵을 9000 x 7000 픽셀로 설정할 수 있습니까? ps .. 내 계정을 user1980303에서 변경할 수 있습니까? : – Christo

+0

@ user1980303 너비와 높이가 각각 각각 8000 px로 제한됩니다. 어느 한쪽이 한계를 넘으면 예외가 발생합니다 – Peter

+0

Direct 10/Direct2D를 사용하는 경우 실제로 제한은 8192 픽셀 x 8192 픽셀입니다 (Delphi는 Direct 10을 사용하고, Direct 11에서는 최대 16384 픽셀 x 16384 픽셀의 비트 맵을 생성 할 수 있습니다.) GlobalUseDX10 : = False 및 GlobalUseDirect2D : = False;를 프로젝트에 추가하면 더 큰 비트 맵을 생성 할 수 있습니다 (최대 32767 픽셀 x 32767 픽셀). – pani