Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
[3907연재]그림을 넣는 방법...
제가 듣기로 지시어를 이용한 resource를 사용하여 그림을 넣을 수 있다는데...
어떻게 하는지...????
// 먼저 폼에 이미지를 넣고 그 프로젝트의 리소스를 만들려 하는 메인폼에서 지시어를 통해
// 불러들이면 된다고,,,,,,
이 방법은 어떻게 해야 할지 감을 못잡아서 질문을 드립니다...
1
COMMENTS
구창민
•
1999.07.22 19:17
suezou 께서 말씀하시기를...
> 제가 듣기로 지시어를 이용한 resource를 사용하여 그림을 넣을 수 있다는데...
> 어떻게 하는지...????
>
> // 먼저 폼에 이미지를 넣고 그 프로젝트의 리소스를 만들려 하는 메인폼에서 지시어를 통해
> // 불러들이면 된다고,,,,,,
>
> 이 방법은 어떻게 해야 할지 감을 못잡아서 질문을 드립니다...
suezou님 안녕하세요?
일전에도 올린 내용 같은데 기억이 가물가물..^^;
아래 내용을 참조해 보시기 바랍니다.
아래는 하이텔동호회에서 활동중이신 황용호님이 쓰신
리소스에서 JPEG읽고, 출력하기 입니다.
/////////////////////////////////////////////////////////////////
JPEG파일을 리소스로 만들고 그 리소스를 TImage를 이용하여
출력하려면 다음과 같이 하시면 됩니다.
우선 리소스 파일을 만들어야 하는데 델파이는 변변한 리소스 에디터를
제공하지 않습니다. 있어봤자 이미지 에디터 정도겠지요...
그렇지만 리소스 컴파일러는 제공합니다. brcc32.exe라는 프로그램이죠.
그래서 .RC파일을 직접 만들어서 컴파일 하여야 합니다.
우선 빈 텍스트 파일을 하나 만들어서 다음의 한 줄을 써 넣습니다.
resname 24 DISCARDABLE "JPEGfilename.jpg"
resname에는 사용하기 원하는 리소스 이름을 넣으시고 JPEGfilename.jpg에는
리소스로 만들 파일의 풀패스명을 적어 주면 됩니다.
리소스 파일이 여러개라면 갯수만큼 위의 내용을 추가해 주시면 됩니다.
24라는 숫자는 리소스 타입의 ID인데 JPEG는 예약된 리소스 타입이 없으므로
예약된 숫자 + 1로 정한 것입니다. 24이상이면 어떤 수이거나 상관 없는데
아래 소스의 MakeIntResource내의 인자와 일치해야 합니다.
여튼 이렇게 만드신 후 확장자를 .rc로 해서 저장합니다. 편의상 MyRes.rc라고
한다면 커맨드 라인에서 brcc32.exe MyRes.rc라고 치면 MyRes.res파일이 만들어
집니다.
그런 후 이제 이 리소스 파일을 프로그램에 추가하여야겠지요.
프로젝트의 소스를 여시면 {$R *.res}라고 적힌 부분이 있을 겁니다.
그 밑에 {$R MyRes.res}라고 추가합니다. 여기서 MyRes.res는 brcc32로 만들어진
리소스 파일 이름입니다.
이렇게 하셔서 컴파일 하시면 우선 리소스는 실행파일에 포함된 겁니다.
다음으로...
리소스에서 JPEG image를 읽어서 TImage 콤포넌트로 출력을 하려면
다음과 같은 코드를 출력하고자 하는 부분에 넣어 주시면 됩니다.
TGraphic에는 리소스에서 직접 데이터를 읽어오는 방법을 지원하지
않으므로 스트림을 이용하셔야 합니다.
편의상 버튼 클릭 이벤트에서 하는 것으로 하겠습니다. 아래는 소스입니다.
procedure TForm1.Button1Click(Sender: TObject);
var
ResStream : TResourceStream;
JPEGImage : TJPEGImage;
begin
JPEGImage := TJPEGImage.Create;
ResStream := TResourceStream.Create(hInstance, 'resname',
MakeIntResource(24));
try
JPEGImage.LoadFromStream(ResStream);
Image1.Picture.Assign(JPEGImage);
finally
ResStream.Free;
JPEGImage.Free;
end;
end;
TJPEGImage를 사용하므로 uses절에 jpeg를 추가하셔야 합니다.
소스 중 TResourceStream.Create에 있는 resname에다가 위의 .rc파일에서
지정한 리소스이름을 적어 주시면 됩니다.
소스가 간단하므로 쉽게 이해가 가실겁니다.
이렇게 하시면 jpeg파일이 실행파일과 합쳐져 출력됩니다.
참고가 되셨으면 합니다.
그럼 이만...
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
초보자
1999.07.23 04:58
0
COMMENTS
/
0
LIKES
QuickReport출력문제 (급!!!!!)
김일호
1999.07.23 04:32
0
COMMENTS
/
0
LIKES
인포믹스와 개발프로그램의 연결에 문제가 있습니다.
김일호
1999.07.23 04:30
0
COMMENTS
/
0
LIKES
인포믹스와 개발프로그램의 연결에 문제가 있습니다.
초보자
1999.07.23 03:11
0
COMMENTS
/
0
LIKES
treeView에서~
별아기
•
1999.07.23 02:43
3
COMMENTS
/
0
LIKES
검색하다가 못찾아서....여기에 올려요..
이대선
•
1999.07.23 02:51
별아기 께서 말씀하시기를... > 다들 수고 많으십니다.. > 음.... > 여기에서 q&a에서..검색해서 찾아볼...
별아기
•
1999.07.23 03:18
> 폼의 TWindowState가 wsMAximized되어 있지 않나요? > > 폼의 Object Inspector에 보면 WindowState가...
이대선
•
1999.07.23 03:24
별아기 께서 말씀하시기를... > > 폼의 TWindowState가 wsMAximized되어 있지 않나요? > > > > 폼의 Ob...
차종일
•
1999.07.23 01:55
1
COMMENTS
/
0
LIKES
delphi2.0 과 oracle8.x ...
정근수
•
1999.07.23 16:31
차종일 께서 말씀하시기를... > > 질문있습니다. > > 현재 델파이2.0과, 오라클7.x를 사용하여 >...
이대선
•
1999.07.23 01:10
1
COMMENTS
/
0
LIKES
RichEdit의 같은 줄에 폰트가 다를 경우 프린터는 ...
이대선
•
1999.07.23 05:30
이대선 께서 말씀하시기를... > RichEdit의 같은 줄에 폰트가 다를 경우 프린터는 어떻게 합니까? > > ...
broad
•
1999.07.23 00:48
1
COMMENTS
/
0
LIKES
사용자 임의 DB 테이블검색 결과보기는?
김영대
•
1999.07.23 01:45
broad 께서 말씀하시기를... > DB의 여러 테이블에서 사용자가 입맛대로 컬럼과 조건을 주어, 그리고 여러...
박현주
1999.07.22 23:53
0
COMMENTS
/
0
LIKES
델파이 4 에서 ActiveX Form작업시의 현상
문보석
•
1999.07.22 23:34
1
COMMENTS
/
0
LIKES
자신의 컴퓨터의 정보가져오기
데빠이
•
1999.07.22 23:54
문보석 께서 말씀하시기를... > 안녕하세요... > > 제가 짠 프로그램은요... > > 실행시킨 컴퓨터의...
linging
•
1999.07.22 23:21
1
COMMENTS
/
0
LIKES
아시는분 없나요? unix&windows에서 파일 주고받기...
김영대
•
1999.07.23 01:52
linging 께서 말씀하시기를... > 질문을 올렸었는데 답변이 없어서 이렇게 다시 올립니다.. > 꼭 좀 답변...
조복기
1999.07.22 22:40
0
COMMENTS
/
0
LIKES
Re: (긴급)파라독스에서 뷰(view)를 생성하는 방법.......
권민철
•
1999.07.22 22:39
1
COMMENTS
/
0
LIKES
Windows NT CPU사용률
김영대
•
1999.07.23 01:42
권민철 께서 말씀하시기를... > Windows NT에서 CPU사용률을 알 수 있습니까? > (windows 95/98에서의 HK...
이원석
1999.07.22 21:08
0
COMMENTS
/
0
LIKES
SQL insert시 내용이 안들어가요
이세연
•
1999.07.22 20:53
1
COMMENTS
/
0
LIKES
델파이의 한계는 어디까지?
김경수
•
1999.07.22 23:48
안녕하세요.. 아는건 별루 없지만.. 몇자 적을려 합니다. 일단 델파이로 만든 웹 서버어플리케이션은 IIS...
sunhee
•
1999.07.22 20:27
2
COMMENTS
/
0
LIKES
비트맵 프린트에 대해서
글쎄요
•
1999.07.22 20:44
StretchDIBits 함수를 사용해야 합니다. 다음 사이트에 가면 예제가 있습니다. 그럼.... http://www.borl...
sunhee
•
1999.07.22 21:05
감사합니다. 많은 도움이 되었습니다. 글쎄요 께서 말씀하시기를... > StretchDIBits 함수를 사용해야...
노희헌
1999.07.22 20:20
0
COMMENTS
/
0
LIKES
PC 제조회사 알아내는 방법 좀 알려주세요...
suezou
•
1999.07.22 19:01
1
COMMENTS
/
0
LIKES
[3907연재]그림을 넣는 방법...
제가 듣기로 지시어를 이용한 resource를 사용하여 그림을 넣을 수 있다는데... 어떻게 하는지...???? // 먼저 폼에 이미지를 넣고 그 프로젝트의 리소스를 만들려 하는 메인폼에서 지시어를 통해 // 불러들이면 된다고,,,,,, 이 방법은 ...
구창민
•
1999.07.22 19:17
suezou 께서 말씀하시기를... > 제가 듣기로 지시어를 이용한 resource를 사용하여 그림을 넣을 수 있다는...
박장수
1999.07.22 18:21
0
COMMENTS
/
0
LIKES
installshield 의 idapi32.cnf
김범환
•
1999.07.22 17:47
1
COMMENTS
/
0
LIKES
레코드를 삭제하는 sql이 뭐에요??
김응철
•
1999.07.22 18:14
김범환 께서 말씀하시기를... > DB의 하나의 레코드르를 삭제하려고 하는데(query를 사용), sql을 어떻게 ...
suezou
1999/07/22 19:01
Views
248
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 제가 듣기로 지시어를 이용한 resource를 사용하여 그림을 넣을 수 있다는데...
> 어떻게 하는지...????
>
> // 먼저 폼에 이미지를 넣고 그 프로젝트의 리소스를 만들려 하는 메인폼에서 지시어를 통해
> // 불러들이면 된다고,,,,,,
>
> 이 방법은 어떻게 해야 할지 감을 못잡아서 질문을 드립니다...
suezou님 안녕하세요?
일전에도 올린 내용 같은데 기억이 가물가물..^^;
아래 내용을 참조해 보시기 바랍니다.
아래는 하이텔동호회에서 활동중이신 황용호님이 쓰신
리소스에서 JPEG읽고, 출력하기 입니다.
/////////////////////////////////////////////////////////////////
JPEG파일을 리소스로 만들고 그 리소스를 TImage를 이용하여
출력하려면 다음과 같이 하시면 됩니다.
우선 리소스 파일을 만들어야 하는데 델파이는 변변한 리소스 에디터를
제공하지 않습니다. 있어봤자 이미지 에디터 정도겠지요...
그렇지만 리소스 컴파일러는 제공합니다. brcc32.exe라는 프로그램이죠.
그래서 .RC파일을 직접 만들어서 컴파일 하여야 합니다.
우선 빈 텍스트 파일을 하나 만들어서 다음의 한 줄을 써 넣습니다.
resname 24 DISCARDABLE "JPEGfilename.jpg"
resname에는 사용하기 원하는 리소스 이름을 넣으시고 JPEGfilename.jpg에는
리소스로 만들 파일의 풀패스명을 적어 주면 됩니다.
리소스 파일이 여러개라면 갯수만큼 위의 내용을 추가해 주시면 됩니다.
24라는 숫자는 리소스 타입의 ID인데 JPEG는 예약된 리소스 타입이 없으므로
예약된 숫자 + 1로 정한 것입니다. 24이상이면 어떤 수이거나 상관 없는데
아래 소스의 MakeIntResource내의 인자와 일치해야 합니다.
여튼 이렇게 만드신 후 확장자를 .rc로 해서 저장합니다. 편의상 MyRes.rc라고
한다면 커맨드 라인에서 brcc32.exe MyRes.rc라고 치면 MyRes.res파일이 만들어
집니다.
그런 후 이제 이 리소스 파일을 프로그램에 추가하여야겠지요.
프로젝트의 소스를 여시면 {$R *.res}라고 적힌 부분이 있을 겁니다.
그 밑에 {$R MyRes.res}라고 추가합니다. 여기서 MyRes.res는 brcc32로 만들어진
리소스 파일 이름입니다.
이렇게 하셔서 컴파일 하시면 우선 리소스는 실행파일에 포함된 겁니다.
다음으로...
리소스에서 JPEG image를 읽어서 TImage 콤포넌트로 출력을 하려면
다음과 같은 코드를 출력하고자 하는 부분에 넣어 주시면 됩니다.
TGraphic에는 리소스에서 직접 데이터를 읽어오는 방법을 지원하지
않으므로 스트림을 이용하셔야 합니다.
편의상 버튼 클릭 이벤트에서 하는 것으로 하겠습니다. 아래는 소스입니다.
procedure TForm1.Button1Click(Sender: TObject);
var
ResStream : TResourceStream;
JPEGImage : TJPEGImage;
begin
JPEGImage := TJPEGImage.Create;
ResStream := TResourceStream.Create(hInstance, 'resname',
MakeIntResource(24));
try
JPEGImage.LoadFromStream(ResStream);
Image1.Picture.Assign(JPEGImage);
finally
ResStream.Free;
JPEGImage.Free;
end;
end;
TJPEGImage를 사용하므로 uses절에 jpeg를 추가하셔야 합니다.
소스 중 TResourceStream.Create에 있는 resname에다가 위의 .rc파일에서
지정한 리소스이름을 적어 주시면 됩니다.
소스가 간단하므로 쉽게 이해가 가실겁니다.
이렇게 하시면 jpeg파일이 실행파일과 합쳐져 출력됩니다.
참고가 되셨으면 합니다.
그럼 이만...