TStream으로받은 이미지를 조작하려고합니다. 메모리에서로드하여 파일에 쓰지 않겠습니다.OpenIL (Devil) : Delphi에서 ilLoadL 사용
inImage: TStream;
"덩어리"변수로 선언 : 다음
함수에imgLump: Array of TILubyte;
I 수행 이것
// setting input image into a "lump"
SetLength(imgLump, inImage.Size);
// rewind stream to beginning
inImage.Seek(0, soBeginning);
// read stream and write into array
inImage.Read(imgLump[0], inImage.Size);
loaded := ilLoadL(IL_JPG, imgLump, Length(imgLump));
로
입력 변수 선언 스테이지에서로드 된 값은 0 ()입니다.)이며 ilGetError() 호출은 1298 (IL_FILE_READ_ERROR
)을 반환합니다.
왜?! 내가 놓친 게 무엇입니까?
감사합니다, 일란
확실히 그렇지 않습니다. 어쩌면 @imgLump [0], 그래도. –
배열이 연속적인 블록이기 때문에이 둘의 차이점은 없습니다. 이 어설 션은 유효합니다 : @array = @array [Low (array)], 즉 양쪽 포인터는 메모리의 동일한 주소를 가리 킵니다. –
좋아, 나는 의심의 여지가 있었지만 나는 해체를 확인했다. 그것은 확실히 동일합니다 :) –