isize:=Cam_Func.gGMICGetImage(1,@buff,1); Memo1.Lines.Add('isize = '+ inttostr(isize));
AStream := TFileStream.Create('test.jpg', fmCreate);
for i:=0 to isize do begin // 함수에서 가져온 pointer로부터 배열에 jpeg data 복사. Image_buff[i]:=buff[i]; end; // 파일로 출력 AStream.Write(Image_buff, isize);
AStream.Free; // 디스크에 저장된 이미지를 읽어서 화면에 출력.. temp_jpg:=Tjpegimage.Create; temp_jpg.LoadFromFile('test.jpg'); image321.bitmap.Assign(temp_jpg);
// 배열에 저장된 이미지를 화면에 출력. temp_jpg:=Tjpegimage.Create; // [Error] Incompatible types: 'TPersistent' and 'Array' temp_jpg.Assign(Image_buff); //temp_jpg.Assign(@Image_buff); 문법 에러는 안나지만 이미지 출력시 메모리 에러. image321.bitmap.Assign(Image_buff);
{ 메모리 관련 에러 출력.} p:= TMemoryStream.Create; p:=@Image_buff; image321.Bitmap.LoadFromStream(p);
우선 배열에서 파일로 출력은 잘 됩니다. 출력된 파일을 디스크에서 읽어서 화면에 뿌리는것도 됩니다. 그런데 배열에서 바로 화면에 뿌리는 부분이 잘 안됩니다
원래 C만하다가 델파이를 하려니 너무 힘이 듭니다. 책보고 인터넷 찾아보고 조금씩 짜고 있지만.. 막히는 부분이 너무 많네요. ㅜㅡ
고수님들의 도움이 절실 합니다. |