|
답변 감사드립니다. 테스트까지 해주시다시....^^
여러가지로 실험을 해봤는데 Image->Picture->LoadFormFile 로 불러온 이미지는 dll에서도 잘 작동하나
Image->Picture->Bitmap->LoadFormFile 로 불러온후 Dll에 Image를 넘겨줘서 Image->Picture->Bitmap->SaveToFile로 하면 0 byte가 되는군요. 물론 Dll로 넘겨주기전에 시험삼아 Image->Picture->Bitmap->SaveToFile를 해보면 잘 됩니다만 Dll 내부에서는 0 Byte가 되어버립니다.
TImage는 Dll내에서 잘 작동하나 Bitmap이 문제인듯 합니다. 해결방법이 없을까요?
박지훈.임프 님이 쓰신 글 :
: 똑같이 해봤는데, 저는 잘 되는데요? 혹시 다른 실수를 하신 것은 아니신지..
: 예를 들어 비트맵이 아닌 jpg 등 다른 이미지를 불러들였다면, 보여주신 코드처럼 Image->Picture->Bitmap을
: 액세스하면 0바이트로 저장됩니다.
:
: 그럼...
:
:
: Starlet 님이 쓰신 글 :
: : 안녕하세요. 아래의 함수는 TImage *Image 를 인자로 가진 Dll 내에 있는 함수입니다.
: :
: : extern "C" __declspec(dllexport) int _f_SaveImage(TImage* Image, int ImageID)
: : {
: : Image->Picture->Bitmap->SaveToFile("C:\\DllMain.bmp");
: :
: : ....
: :
: :
: : 위와 같이 SaveToFile로 그림을 저장하면 0 바이트 파일만 생성되는군요. dll 호출전에 같은 TImage를 가지고 Image->Picture->Bitmap->SaveToFile("C:\\DllMain.bmp") 이렇게 하면 잘 저장됩니다.
: : Dll에 TImage* 를 인자로 넘겨줄때 처리해줘야 하거나 주의해야 할 사항이 있는지요?
|