Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
다시질문---사운드 죽이기...쩝
프로그램상에서 sndplaysound('*.wav', snd_async) 함수를
써서 사운드를 출력했는데 기럭지가 20초정도 되는데
중간에 죽이는방법은 없나해서요....
3
COMMENTS
이상돈
•
1999.04.03 22:08
이미지가 두개 있습니다.
이미지1은 배경
이미지2는 사진(인물은외에는 일정한 색(파랑이나 검정)
두이미지를 합성하고 싶은데 쉽지가 않네요.
배경이미지에 이미지2를(인물부분만)합성해서
새이미지를 만들어 저장해야하거든요.
부탁합니다.
질문만 올려서 죄송....^^;
0
0
삭제
수정
댓글
신인재
•
1999.06.17 22:45
쩝 MCI함수를 써서 플레이를 해야 될꺼같습니다..
자료실에 제가 올려놓은 MciPlay.pas가 있습니다.
인스톨 컴포넌트로 인스톨하여 쓰시면 편합니다...
지팡이 께서 말씀하시기를...
> 프로그램상에서 sndplaysound('*.wav', snd_async) 함수를
> 써서 사운드를 출력했는데 기럭지가 20초정도 되는데
> 중간에 죽이는방법은 없나해서요....
0
0
삭제
수정
댓글
이정욱
•
1999.04.04 04:55
하이텔서 퍼왔습니다.
번 호 : 2827
게시자 : 민성기 (오랑캐꽃)
등록일 : 1999-02-27 23:55
제 목 : [응모] 델파이 퀴즈...
안녕하세요... 민성기 입니다.
항상 퀴즈를 내 주시는 지훈님께 감사 드리며... ^^;
음... 예전엔 복잡하고 희안하게 했다가... 요즘엔 RX의 소스를
고대로 배껴서 쓰고 있습니다. 빠르고 좋길래... 흐흐흐...
퀴즈 응모 입니당...
procedure StretchBltTransparent(DstDC: HDC; DstX, DstY, DstW, DstH: Integer;
SrcDC: HDC; SrcX, SrcY, SrcW, SrcH: Integer; Palette: HPalette;
TransparentColor: TColorRef);
const
PaletteMask = $02000000;
var
Color: TColorRef;
bmAndBack, bmAndObject, bmAndMem, bmSave:HBitmap;
bmBackOld, bmObjectOld, bmMemOld, bmSaveOld: HBitmap;
MemDC, BackDC, ObjectDC, SaveDC: HDC;
palDst, palMem, palSave, palObj: HPalette;
function PaletteColor(Color: TColor): Longint;
begin
Result := ColorToRGB(Color) or PaletteMask;
end;
begin
{ Create some DCs to hold temporary data }
BackDC := CreateCompatibleDC(DstDC);
ObjectDC := CreateCompatibleDC(DstDC);
MemDC := CreateCompatibleDC(DstDC);
SaveDC := CreateCompatibleDC(DstDC);
{ Create a bitmap for each DC }
bmAndObject := CreateBitmap(SrcW, SrcH, 1, 1, nil);
bmAndBack := CreateBitmap(SrcW, SrcH, 1, 1, nil);
bmAndMem := CreateCompatibleBitmap(DstDC, DstW, DstH);
bmSave := CreateCompatibleBitmap(DstDC, SrcW, SrcH);
{ Each DC must select a bitmap object to store pixel data }
bmBackOld := SelectObject(BackDC, bmAndBack);
bmObjectOld := SelectObject(ObjectDC, bmAndObject);
bmMemOld := SelectObject(MemDC, bmAndMem);
bmSaveOld := SelectObject(SaveDC, bmSave);
{ Select palette }
palDst := 0; palMem := 0; palSave := 0; palObj := 0;
if Palette <> 0 then begin
palDst := SelectPalette(DstDC, Palette, True);
RealizePalette(DstDC);
palSave := SelectPalette(SaveDC, Palette, False);
RealizePalette(SaveDC);
palObj := SelectPalette(ObjectDC, Palette, False);
RealizePalette(ObjectDC);
palMem := SelectPalette(MemDC, Palette, True);
RealizePalette(MemDC);
end;
{ Set proper mapping mode }
SetMapMode(SrcDC, GetMapMode(DstDC));
SetMapMode(SaveDC, GetMapMode(DstDC));
{ Save the bitmap sent here }
BitBlt(SaveDC, 0, 0, SrcW, SrcH, SrcDC, SrcX, SrcY, SRCCOPY);
{ Set the background color of the source DC to the color, }
{ contained in the parts of the bitmap that should be transparent }
Color := SetBkColor(SaveDC, PaletteColor(TransparentColor));
{ Create the object mask for the bitmap by performing a BitBlt() }
{ from the source bitmap to a monochrome bitmap }
BitBlt(ObjectDC, 0, 0,SrcW, SrcH, SaveDC, 0, 0, SRCCOPY);
{ Set the background color of the source DC back to the original }
SetBkColor(SaveDC, Color);
{ Create the inverse of the object mask }
BitBlt(BackDC, 0, 0, SrcW, SrcH, ObjectDC, 0, 0, NOTSRCCOPY);
{ Copy the background of the main DC to the destination }
BitBlt(MemDC, 0, 0, DstW, DstH, DstDC, DstX, DstY, SRCCOPY);
{ Mask out the places where the bitmap will be placed }
StretchBlt(MemDC, 0, 0, DstW, DstH, ObjectDC, 0, 0, SrcW, SrcH, SRCAND);
{ Mask out the transparent colored pixels on the bitmap }
BitBlt(SaveDC, 0, 0, SrcW, SrcH, BackDC, 0, 0, SRCAND);
{ XOR the bitmap with the background on the destination DC }
StretchBlt(MemDC, 0, 0, DstW, DstH, SaveDC, 0, 0, SrcW, SrcH, SRCPAINT);
{ Copy the destination to the screen }
BitBlt(DstDC, DstX, DstY, DstW, DstH, MemDC, 0, 0,
SRCCOPY);
{ Restore palette }
if Palette <> 0 then begin
SelectPalette(MemDC, palMem, False);
SelectPalette(ObjectDC, palObj, False);
SelectPalette(SaveDC, palSave, False);
SelectPalette(DstDC, palDst, True);
end;
{ Delete the memory bitmaps }
DeleteObject(SelectObject(BackDC, bmBackOld));
DeleteObject(SelectObject(ObjectDC, bmObjectOld));
DeleteObject(SelectObject(MemDC, bmMemOld));
DeleteObject(SelectObject(SaveDC, bmSaveOld));
{ Delete the memory DCs }
DeleteDC(MemDC);
DeleteDC(BackDC);
DeleteDC(ObjectDC);
DeleteDC(SaveDC);
end;
헥헥~
쓸 때는 다음과 같이 ... ^^;
procedure TForm1.Button1Click(Sender: TObject);
var
DestBitmap : TBitmap;
SrcBitmap : TBitmap;
begin
DestBitmap := TBitmap.Create;
SrcBitmap := TBitmap.Create;
try
DestBitmap.Width := Image2.Picture.Bitmap.Width;
DestBitmap.Height := Image2.Picture.Bitmap.Height;
DestBitmap.Canvas.Draw(0, 0, Image2.Picture.Bitmap);
SrcBitmap.Assign(Image1.Picture.Bitmap);
StretchBltTransparent(
DestBitmap.Canvas.Handle,
0, 0, DestBitmap.Width, DestBitmap.height,
SrcBitmap.Canvas.Handle,
0, 0, SrcBitmap.Width, SrcBitmap.Height,
SrcBitmap.Palette,
clBlack
);
Image3.Picture.Bitmap.Assign(DestBitmap);
finally
DestBitmap.Free;
SrcBitmap.Free;
end;
end;
음... Image2의 이미지 중 검은 부분을 Image1에 '투명'하게
올려서리... Image3에 보여주는 놈 입니다.
이번 기회에 성능 죽여주는 투명 비트맵 예제를 건질 수 있으면
좋겠네요~
이상돈 wrote:
> 이미지가 두개 있습니다.
> 이미지1은 배경
> 이미지2는 사진(인물은외에는 일정한 색(파랑이나 검정)
> 두이미지를 합성하고 싶은데 쉽지가 않네요.
> 배경이미지에 이미지2를(인물부분만)합성해서
> 새이미지를 만들어 저장해야하거든요.
> 부탁합니다.
> 질문만 올려서 죄송....^^;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
이광주
•
1999.04.03 06:32
1
COMMENTS
/
0
LIKES
ActiveX의 IE에서 미리보기는...
안치봉
•
1999.04.06 22:31
이광주 wrote: > THTML콤퍼넌트의 프린트기능을 구현하기 어려워 ActiveX Control에 있는 > IE를 불러 붙...
오인균
•
1999.06.17 23:21
1
COMMENTS
/
0
LIKES
바로가기 링크..?
안치봉
•
1999.06.18 00:26
오인균 께서 말씀하시기를... > 델파이4로 명함관리 프로그램을 작성중인데요.. > 질문이 있습니다.. > ...
구자송
•
1999.04.03 17:50
5
COMMENTS
/
0
LIKES
Del4 QucikReport
이현신
•
1999.06.17 23:00
델파이에서 아주 간단한 콘솔 프로그램을 만들었는데.. 중간에 어떤 작업을 시켜놓고 대기(for문)를 해 야...
이정욱
•
1999.04.06 06:06
제가 알기로는 정품이 그 기능을 지원하는것으로 알고 있습니다. 퀵리포트 정품이 말이죠... 구자송 ...
이현신
•
1999.06.17 23:17
이현신 께서 말씀하시기를... > 델파이에서 아주 간단한 콘솔 프로그램을 만들었는데.. > 중간에 어떤 작...
구자송
•
1999.04.06 10:25
이정욱 wrote: > 제가 알기로는 정품이 그 기능을 지원하는것으로 알고 있습니다. > 퀵리포트 정품이 말...
안치봉
•
1999.04.06 22:40
qusoft에서 구입하실수 있을것입니다. 나이렉스에서 구입대행도 가능합니다. 구자송 wrote: > 이정욱 ...
왕초
•
1999.06.17 22:03
1
COMMENTS
/
0
LIKES
MDIChild폼을 안보이게....
최석기
•
1999.06.17 22:13
왕초 께서 말씀하시기를... > MDIChild폼이 모두 Minimized되어 있는데요.. > 이 MDIChild폼을 MDI 메인 ...
안정한
•
1999.06.17 21:50
4
COMMENTS
/
0
LIKES
TMemoryStream에 대하여
구자송
•
1999.04.03 17:50
패키지 프로그램을보면 인쇄전에 화면에서 ReportForm을 변경해서 인쇄를 할수있는 프로그램들이 있는데 어...
이정욱
•
1999.04.06 06:06
제가 알기로는 정품이 그 기능을 지원하는것으로 알고 있습니다. 퀵리포트 정품이 말이죠... 구자송 ...
구자송
•
1999.04.06 10:25
이정욱 wrote: > 제가 알기로는 정품이 그 기능을 지원하는것으로 알고 있습니다. > 퀵리포트 정품이 말...
안치봉
•
1999.04.06 22:40
qusoft에서 구입하실수 있을것입니다. 나이렉스에서 구입대행도 가능합니다. 구자송 wrote: > 이정욱 ...
지팡이
•
1999.06.17 21:29
3
COMMENTS
/
0
LIKES
다시질문---사운드 죽이기...쩝
프로그램상에서 sndplaysound('*.wav', snd_async) 함수를 써서 사운드를 출력했는데 기럭지가 20초정도 되는데 중간에 죽이는방법은 없나해서요....
이상돈
•
1999.04.03 22:08
이미지가 두개 있습니다. 이미지1은 배경 이미지2는 사진(인물은외에는 일정한 색(파랑이나 검정) 두이...
신인재
•
1999.06.17 22:45
쩝 MCI함수를 써서 플레이를 해야 될꺼같습니다.. 자료실에 제가 올려놓은 MciPlay.pas가 있습니다. ...
이정욱
•
1999.04.04 04:55
하이텔서 퍼왔습니다. 번 호 : 2827 게시자 : 민성기 (오랑캐꽃) 등록일 : 1999-02-27 23:55 제 ...
디제이
•
1999.06.17 21:11
3
COMMENTS
/
0
LIKES
Record 형으로 저장된 파일 읽고 쓰기
이상돈
•
1999.04.03 22:08
이미지가 두개 있습니다. 이미지1은 배경 이미지2는 사진(인물은외에는 일정한 색(파랑이나 검정) 두이...
김영대
•
1999.06.18 03:29
디제이 께서 말씀하시기를... > Record 형으로 저장된 파일을 읽고 쓸려고 합니다. > 헌데 문제는 Record...
이정욱
•
1999.04.04 04:55
하이텔서 퍼왔습니다. 번 호 : 2827 게시자 : 민성기 (오랑캐꽃) 등록일 : 1999-02-27 23:55 제 ...
최기훈
•
1999.06.17 20:23
3
COMMENTS
/
0
LIKES
질문] 2448에 대한 추가 질문 : TNotifyIconData가 없어요?
문창완
•
1999.04.03 18:59
원본이미지를 출력(프린팅)할때 좌우가 바뀐(대칭된)이미지로 출력하고자 합니다. 방법이 없을까요? ...
최석기
•
1999.06.17 20:28
최기훈 께서 말씀하시기를... > 최석기님이 보내주신 답변 잘받았습니다. > 하지만 TNotifyIconData에 해...
안치봉
•
1999.04.03 21:40
문창완 wrote: > 원본이미지를 출력(프린팅)할때 좌우가 바뀐(대칭된)이미지로 > 출력하고자 합니다. > ...
문창완
•
1999.04.01 01:36
4
COMMENTS
/
0
LIKES
비디오화상위에 투명 이미지 쒸우기는..?
이호선
•
1999.06.17 18:26
안녕하세요 Chartfx콤퍼넌트를 사용하는데 배포 컴퓨터에 클래스가 등록되지 않았다는 에러가 나오는군요...
안치봉
•
1999.04.01 23:02
문창완 wrote: > 비디오 화상위에 투명 이미지를 씌우고자 하는데 잘 안돼네요... > 통신상에 있는 컴포...
최석기
•
1999.06.17 19:16
이호선 께서 말씀하시기를... > 안녕하세요 > Chartfx콤퍼넌트를 사용하는데 배포 컴퓨터에 클래스가 등...
문창완
•
1999.04.03 19:02
그 문제는 안치봉님 께서 알려준 방법으로 해결하기 보다는 인터넷에서 컴포넌트를 구해서 해결했습니다...
문창완
•
1999.04.03 18:59
3
COMMENTS
/
0
LIKES
이미지를 좌우대칭으로 출력?..부탁
북해
•
1999.06.17 18:02
안녕하세요. 동적생성한 버튼을 해체하려하는데 잘 안되네요. 단순히 하나의 버튼을 동적생성하고 해체하는...
안치봉
•
1999.04.03 21:40
문창완 wrote: > 원본이미지를 출력(프린팅)할때 좌우가 바뀐(대칭된)이미지로 > 출력하고자 합니다. > ...
최석기
•
1999.06.17 19:10
북해 께서 말씀하시기를... > 안녕하세요. 동적생성한 버튼을 해체하려하는데 잘 안되네요. 단순히 하나의...
최기훈
•
1999.06.17 18:00
1
COMMENTS
/
0
LIKES
Volume Control과 같은 Window를 만드려면?
최석기
•
1999.06.17 19:12
최기훈 께서 말씀하시기를... > Window를 구현하는데 궁금한 점이 있어서 이렇게 글을 올립니다. > 작업 ...
한 재
•
1999.06.17 17:40
4
COMMENTS
/
0
LIKES
트리 뷰의 노드와 파일...
구자송
•
1999.04.03 17:50
패키지 프로그램을보면 인쇄전에 화면에서 ReportForm을 변경해서 인쇄를 할수있는 프로그램들이 있는데 어...
이정욱
•
1999.04.06 06:06
제가 알기로는 정품이 그 기능을 지원하는것으로 알고 있습니다. 퀵리포트 정품이 말이죠... 구자송 ...
구자송
•
1999.04.06 10:25
이정욱 wrote: > 제가 알기로는 정품이 그 기능을 지원하는것으로 알고 있습니다. > 퀵리포트 정품이 말...
안치봉
•
1999.04.06 22:40
qusoft에서 구입하실수 있을것입니다. 나이렉스에서 구입대행도 가능합니다. 구자송 wrote: > 이정욱 ...
문창완
•
1999.06.17 07:39
3
COMMENTS
/
0
LIKES
사운드 강제로 죽이기는...
이대선
•
1999.04.03 05:44
keybd_event를 어떻게 사용해야 하는지 궁금합니다. keybd_event($41,VK_SNAPSHOT,KEYEVENTF_EXTENDEDKE...
최석기
•
1999.06.17 17:47
문창완 께서 말씀하시기를... > 지금 소리가 나는 사운드(Wav 파일)를 어떻게 죽이죠...? > 알려주세요. ...
안치봉
•
1999.04.03 07:33
이대선 wrote: > keybd_event를 어떻게 사용해야 하는지 궁금합니다. > > keybd_event($41,VK_SNAPSHOT...
이호선
•
1999.06.17 06:34
3
COMMENTS
/
0
LIKES
ActivX콤퍼넌트들을 배포하려면....
황순갑
•
1999.04.03 05:21
찾습니다. 디지탈카메라의 소스 (비주얼베이직) 을 델파이 소스로 변환해 주실분을 찾습니다. 메일...
최석기
•
1999.06.17 17:38
이호선 께서 말씀하시기를... > 안녕하세요. > ActiveX에서 Chartfx를 사용하는데 배포할때 클래스가 등...
안치봉
•
1999.04.03 07:31
황순갑 wrote: > > 찾습니다. > 디지탈카메라의 소스 (비주얼베이직) 을 델파이 소스로 > 변환해 ...
이주흥
•
1999.06.17 06:18
1
COMMENTS
/
0
LIKES
ListView에 파일 보여주기요....
신인재
•
1999.06.17 06:35
이주흥 께서 말씀하시기를... > 하하 ... 또 질문입니다..이거 자꾸 막히네요.. > 저기 ..OpenDialog에서...
이해진
•
1999.04.03 02:19
2
COMMENTS
/
0
LIKES
에구..아래 질문에 추가...
이정욱
•
1999.04.03 04:30
필드의 종류와 이름들을 말씀해 주세요. 거기에 문제가 있을 수 도있습니다. 특히 한글로 필드명을 준다...
이해진
•
1999.04.03 06:35
델파이에서 테이블 컴포넌트를 사용하지 않고 쿼리 컴포넌트를 사용하니까 문제가 해결되었습니다. 테이...
강인경
1999.06.17 03:35
0
COMMENTS
/
0
LIKES
(질문)레포트를 두장 연속하여 출력하려면
이광주
•
1999.04.03 06:32
1
COMMENTS
/
0
LIKES
ActiveX의 IE에서 미리보기는...
안치봉
•
1999.04.06 22:31
이광주 wrote: > THTML콤퍼넌트의 프린트기능을 구현하기 어려워 ActiveX Control에 있는 > IE를 불러 붙...
김진성
•
1999.06.17 03:24
1
COMMENTS
/
0
LIKES
기존 테이블에서의 레코드수는?
최석기
•
1999.06.17 17:43
김진성 께서 말씀하시기를... > 에궁~ 밑에 질문을 했었는데, 너무 길어져서 이곳에 다시 올립니다. > 저...
초보
•
1999.06.17 03:04
2
COMMENTS
/
0
LIKES
Q레포트에서 QRSysData가 이상해요
이대선
•
1999.04.03 05:44
keybd_event를 어떻게 사용해야 하는지 궁금합니다. keybd_event($41,VK_SNAPSHOT,KEYEVENTF_EXTENDEDKE...
안치봉
•
1999.04.03 07:33
이대선 wrote: > keybd_event를 어떻게 사용해야 하는지 궁금합니다. > > keybd_event($41,VK_SNAPSHOT...
지팡이
1999/06/17 21:29
Views
227
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
이미지1은 배경
이미지2는 사진(인물은외에는 일정한 색(파랑이나 검정)
두이미지를 합성하고 싶은데 쉽지가 않네요.
배경이미지에 이미지2를(인물부분만)합성해서
새이미지를 만들어 저장해야하거든요.
부탁합니다.
질문만 올려서 죄송....^^;