안녕하세요. 이호림이라고 합니다.
아래와 같이 코딩했는데 잘안되네요...
var
ABitmap: TBitmap;
AMemStream: TMemoryStream;
begin
ABitmap := TBitmap.Create;
AMemStream := TMemoryStream.Create;
try
ABitmap := CaptureScreen(cmScreen); // 화면을 캡쳐후 TBitmap으로 리턴
ABitmap.SaveToStream(AMemStream);
finally
ABitmap.Free;
end;
Image1.Picture.Bitmap := TBitmap(AMemStream);
AMemStream.Free;
end;
위처럼 메모리스트림으로 하면 TImage 컴포넌트에 캡쳐한 이미지가 안나타납니다.
그런데 비트맵을 파일로 저장하고 불러오면 잘되요...
TBitmap을 TMemoryStream 으로 저장가능한 방법 알고 있으신분 알려주시면 고맙겠습니다...
스트림으로 저장된걸 타입을 바꾼다고 되진 않습니다. 이건 다른거니까요..
TBitmap 이랑 이미지랑은 분명 다른거죠. 이건 콤포넌트고
저장한건 해당 콤포넌트가 가지고 있던 데이타니까요. ㅠㅠ
AmemStream.Position := 0;
Image1.Picture.Bitmap.LoadofStream(AmemStream);
하시면 되겠네요.. 음..
그것말고도
ABitmap := CaptureScreen(cmScreen); // 화면을 캡쳐후 TBitmap으
이넘도 영 맘에 안드는군요.. 리턴값이 아마 TBitmap 이겠죠?
ABitmap을 파라메터로 넘겨주던지 하시는게 좋을것 같네요
아니면 생성부분을 바꾸시던지요..
잘 안되실때나 에러날때 꼭.. 해당 하는 소스들을 한번 확인해 보세요. 그럼
훨신 더 이해가 빠르실껍니다. 지금도 SaveofStream 같은 소스요.
보면 공부많이 되요. ㅎㅎ
즐델하세요 그럼..