|
요즘에 제가 하던 Image 관련 프로젝트를 공부하고 있었는데 ㅎ
제가 아는 부분이 나와서 답변을 드립니다.
아직 촙자라 잘 모르지만,
Image -> Picture -> Bitmap -> Assign(pJpg) ;
이렇게 하시면 TBitmap 에 TJPEG 를 Assign하게 되는데
당연히 파일의 구조가 다리느 애러가 나게 됩니다.
이때 해결책은 두가지 인데
1. Image->Picture->Assign( pJpg );
이렇게 하시면 JPEG 파일이 로딩이 되는데,
전 이상하게 처음 한번은 꼭 애러가 나더군여 ㅠ.ㅠ
이유는 다른 고수분들이 설명해주실꺼라 믿고,
2.
Graphics::TBitmap *pBmp = new Graphics::TBitmap;
TJPEGImage * pJpg = new TJPEGImage ();
pJpg -> LoadFromFile(Path) ;
pBmp->Assign ( pJpg );
Image->Picture->Bitmap->Assign(pBmp);
정도가 되겠습니다.
jpg 파일을 읽고, bmp 파일로 변환한 후 TImage의 Bitmap에 Assign 하는거죠.
ㅎㅎ 아무쪼록 좋은 프로그램이 완성되길 기도합니다.
후루추 님이 쓰신 글 :
: 네 들어가 있는데도 그렇네요.
:
: 답변 감사합니다.
:
:
: 아루스 님이 쓰신 글 :
: : #pragma package(smart_init)
: :
: : 혹시 cpp 앞부분에 저 문장이 있나요?
: : New|Form 으로 자동 생성된 파일이 아니고 직접 추가한 유닛이면 저게 빠져서 그럴수도 있습니다.
: :
: :
: : 후루추 님이 쓰신 글 :
: : : 실험 할려고 새로운 프로젝트 열고 할때는 잘되었었는데.
: : :
: : : 실제 적용 할려고 프로젝트 에 삽입을 하니깐 안되네요.
: : :
: : : 밑에 와 같이 링크에러가 뜹니다.
: : :
: : : 뭔가를 Add해 줘야 할것 같은데 모르겠네요.
: : :
: : : 혹시 아시는 분있으시면 알려주세요
: : :
: : :
: : :
: : : #include <jpeg.hpp>
: : : int __fastcall TMyImage::GetPicture(int No , TImage *Image)
: : : {
: : : //Check Error.
: : : if (Image == NULL) return -1;
: : : if ((No < 0) || (No >= MAX_IMAGE)) return -1;
: : :
: : : //Local Var.
: : : AnsiString FN ;
: : : AnsiString Path;
: : :
: : : //Set Path.
: : : FN.sprintf("E%03d.JPG" , No + 1);
: : : if (!DirectoryExists(ExtractFilePath(Application->ExeName) + "Util" )) CreateDir(ExtractFilePath(Application->ExeName) + "Util" );
: : : if (!DirectoryExists(ExtractFilePath(Application->ExeName) + "Util\\Images")) CreateDir(ExtractFilePath(Application->ExeName) + "Util\\Images");
: : : Path = ExtractFilePath(Application->ExeName) + "Util\\ErrPictures\\" + FN;
: : :
: : : if (!FileExists(Path)) {
: : : Image -> Visible = false;
: : : return -1;
: : : }
: : :
: : : TJPEGImage * pJpg = new TJPEGImage ();
: : : pJpg -> LoadFromFile(Path) ;
: : : Image -> Picture -> Bitmap -> Assign(pJpg) ;
: : :
: : : delete pJpg ;
: : : }
: : : [Linker Error] Unresolved external '__fastcall Jpeg::TJPEGImage::~TJPEGImage()' referenced from D:\WORKS\VIEWER0\OBJ\MYIMAGE.OBJ
: : : [Linker Error] Unresolved external 'Jpeg::TJPEGImage::' referenced from D:\WORKS\PTR-D20\OBJ\ERRPROC.OBJ
: : : [Linker Error] Unresolved external '__fastcall Jpeg::TJPEGImage::TJPEGImage()' referenced from D:\WORKS\VIEWER0\OBJ\MYIMAGE.OBJ
|