루프 내에서 스트리밍 표시를 얻으려고합니다. 내 이해는 원칙적으로 버튼 밀기와 관련된 무한 루프를 넣음으로써 프로그램을 멈출 수 있다는 것입니다. 어떤 경우이 코드를 실행하면 실행중인 카운터가 제대로 인쇄되고 카메라의 프레임이 캡처됩니다 (일련의 파일로 저장할 수 있음). 그러나 setImage를 사용하는 디스플레이는 루프가 화면의 마지막 이미지를 표시합니다. 내 질문은 다음과 같습니다. 설명서에 설명 된대로 프로그램을 연속적으로 실행하는 경우 왜 디스플레이가 나타나지 않고 디스플레이 명령의 다른 쪽 코드도 제대로 처리됩니까? 디스플레이가 병렬 처리로 간단히 "덤프"되어 있습니까?이 경우 디스플레이가 완료 될 때까지 기다리는 지연 루프를 넣어야합니까?루프 내에서 연속적으로 여러 이미지를 표시합니다.
감사 WMW
uint32 MaxRuns = 10;
for (uint32 NoRuns = 0 ; NoRuns < MaxRuns ; NoRuns++)
{
//
//Here is some code to capture each image from the camera
//and save them to image.tif
//
inFilePath = @"/Volumes/Portable_Mac/Programming/CameraData/image.tif";
[TestImage initWithContentsOfFile:inFilePath];
[viewWindow setImage: TestImage];
printf("run number:%d\n",NoRuns);
}
감사합니다. 매우 유용합니다. 나는 당신의 대답을 철저히 고맙게 생각합니다. 궁극적으로 내 목표는 카메라에서 들어오는 이미지를 모니터링하고 카메라 특성을 "최적화"될 때까지 설정 한 다음 적합한 파일을 나중에 처리 할 수 있도록 디스크에 저장하는 것입니다. –
실제 코드는 다음과 같습니다 : NSImage * TestImage = [[NSImage alloc] initWithContentsOfFile : inFilePath] autorelease]; [viewWindow setImage : TestImage]; [viewWindow display]; NSImage를 다시 초기화하고 NSImageView에 즉시 표시하도록 요청해야했습니다. 이제 작동합니다. –