Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
[질문] PaintBox 투명...
안녕하세요?
Paint Box를 투명하게 할일이 있어서
연구를 해봤는데, 쉽지 않네요.
혹시 PaintBox투명하게 하는 것 아시는 분
알려주시면 감솨드리겠습니다.
꾸벅~
1
COMMENTS
소울해커
•
2008.10.07 19:49
Paint Box를 투명하게 한다는게 무슨 의미인지...
원래 그려지는 부분을 제외하곤 투명하지 않은가요? (그려지는 부분빼곤 뒤에부분이 잘 보이는데...;)
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.StretchDraw(Rect(0, 0, Width, Height), TBitmap(Image1.Picture.Graphic));
PaintBox1.Canvas.Draw(0, 0, TBitmap(Image2.Picture.Graphic));
end;
Paint Box를 투명하게 하는게 아니라 그려진 부분에 알파블렌딩을 적용하시고자 하시는건가요?
그거라면 대충 이렇게...
procedure TForm1.FormPaint(Sender: TObject);
var
ABmp: TBitmap;
bfBlend : _BLENDFUNCTION;
begin
Canvas.StretchDraw(Rect(0, 0, Width, Height), TBitmap(Image1.Picture.Graphic));
ABmp := TBitmap.Create;
with ABmp do
begin
try
PixelFormat := pf24bit;
Width := Image2.Width;
Height := Image2.Height;
Canvas.Draw(0, 0, TBitmap(Image2.Picture.Graphic));
bfBlend.BlendOp := AC_SRC_OVER;
bfBlend.BlendFlags := 0;
bfBlend.SourceConstantAlpha := 80;
bfBlend.AlphaFormat := 0;
Windows.AlphaBlend(PaintBox1.Canvas.Handle, 0, 0, PaintBox1.Width, PaintBox1.Height, Canvas.Handle, 0, 0, Width, Height, bfBlend);
finally
if Assigned( ABmp ) then FreeAndNil( ABmp );
end;
end;
end;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
steps
•
2008.10.12 03:31
4
COMMENTS
/
0
LIKES
bitmap32이미지를 png파일로 save하려면...
구창민
•
2008.10.13 03:38
안녕하세요.. 아래 링크가 도움이 될거 같네요.. 즐거운 프로그래밍 하세요.. http://www.efg2....
steps
•
2008.10.13 20:13
창민님 감사합니다. 음 제가 바라는건 파일 포맷을 바꾸는게 아니구요 graphics32의 tbitmap32를 png포...
steps
•
2008.10.13 20:45
일단 아래 코드로 알파통로는 보장할수있습니다. uses ..., GDIPAPI, GDIPOBJ, GDIPUTIL; function...
steps
•
2008.10.13 21:09
구글링해보니 이미 프리서고가 공개되여있군요. http://www.geocities.com/gc_timsara/altpe/code/inde...
배정은
•
2008.10.11 23:39
4
COMMENTS
/
0
LIKES
CM_MOUSELEAVE, CM_MOUSEENTER 값을 못가져 옵니다
이정욱
•
2008.10.13 02:18
subform을 panel에 상속해 생성했다는게... 무슨 뜻인지요..? Panel에서 나가는것을 체크 하려면 위의...
배정은
•
2008.10.13 07:43
질문설명이 많이 부족했습니다. 제 생각만 한것 같습니다. 죄송 ^^ frmNaMain.Parent := plMain; -->...
이정욱
•
2008.10.13 18:12
아 네. 그렇군요. 그 폼 이 비어있다면 폼의 메세지를 가로채면 되겠지만, 그렇지 않은 경우에는 그냥 수...
장성호
•
2008.10.13 20:31
아래 코드는 님의 WndProc 코드입니다. <!--CodeS--> procedure TfrmNameMain.WndProc(var Mes...
류성길
•
2008.10.10 22:13
1
COMMENTS
/
0
LIKES
[질문] 부탁드립니다. 멀티 키보드 입력 방법
이정욱
•
2008.10.11 02:34
키보드 드라이버를 만드셔야 할것 같습니다. 그곳에 디바이스 아이디를 이용해서 특수하게 키입력이 되게...
flywing
2008.10.10 04:03
0
COMMENTS
/
0
LIKES
[질문] 자바스크립으로 새창 열린 Internet Explorer 윈도우 제어
flywing
2008.10.13 07:53
0
COMMENTS
/
0
LIKES
[re] [질문] 자바스크립으로 새창 열린 Internet Explorer 윈도우 제어
델만세
•
2008.10.10 03:23
3
COMMENTS
/
0
LIKES
[질문]OnCanSort 이벤트 질문이요~
소울해커
•
2008.10.10 05:29
후우웁...ㅡ_ㅡ 스트링그리드에 OnCanSort 이벤트가 있습니까? 무슨 그리드를 사용하고 계신겁니...
델만세
•
2008.10.11 00:24
아..죄송합니다.. 제가 질문을 너무 광범위 하게 질문을 한거 같네요.. 지금 델파이를 공부하는 중...
델만세
•
2008.10.11 00:38
아..그리고 이 문제 해결을 했습니다^^;;; 일단.. TAdvStringGrid를 쓰고 있고요.. 첫번째 컬럼만...
박성준
•
2008.10.09 20:57
1
COMMENTS
/
0
LIKES
[질문] 동적으로 레이블, 이미지를 생성후 동시에 드래그...
steps
•
2008.10.09 21:53
제 경우에는 Acdsee비슷하게 패널에 이미지와 레블을 올려놓은 컴포를 만들었댔는데요 이미지와 레블에 d...
아르스
2008.10.09 20:10
0
COMMENTS
/
0
LIKES
Parking Window 에러 비슷한게 나네요..
이은주
•
2008.10.09 09:08
1
COMMENTS
/
0
LIKES
[질문] 뒤늦게 폼의 컴포넌트들이 그려지는 현상은 어떻게..
이은주
•
2008.10.09 09:17
현상을 보면 테두리는 보이는데 안이 뻥 뚤려 보이거나.. 다른 프로그램과 반정도 겹쳐져 있다면 그 부...
이정은
•
2008.10.08 18:53
•
1
COMMENTS
/
0
LIKES
챠트관련 질문요
steps
•
2008.10.09 21:59
음 저런 차트와 레블을 자체로 그리시려는지 아니면 차트컴포우에 레블만 달아주시려는가요?
전봉수
•
2008.10.08 18:15
1
COMMENTS
/
0
LIKES
[질문] 퀴리문 에러좀 봐주세요.
박종철
•
2008.10.09 19:21
얼핏 보면 // 정렬항목 설정 CASE SORT_PTYPE1.ITEMINDEX OF 0: sSQL:=sSQL + ' ORDER BY...
전봉수
2008.10.08 18:13
0
COMMENTS
/
0
LIKES
[질문] 엑셀로 저장시 문자가 기록된 부분까지 테두리 생성하기
전봉수
2008.10.08 18:11
0
COMMENTS
/
0
LIKES
[질문] Query 이미지 생성 수정 저장 삭제하는 소스좀 완성좀 부탁드립니다.
정진일
2008.10.08 01:05
0
COMMENTS
/
0
LIKES
병렬포트(프린터 포트)를 사용해서 전기 신호를 ...
델파인
•
2008.10.07 20:53
•
3
COMMENTS
/
0
LIKES
일정표 만들기(delphi6)
구창민
•
2008.10.08 10:52
안녕하세요.. 아래 주소를 클릭하시고 연구 해보시면 좋은 결과가 있으리라 생각됩니다.. 프리니까...
이정욱
•
2008.10.08 12:36
위에 창민님께서 말씀하신 컴포넌트 잘 만들어졌네요. 활용도가 높을듯 하군요.
오병주
•
2008.10.08 18:12
음...예전에 봤던 콤포넌트 네요... ^^ 활용도도 좋죠...
무스바른영구
2008.10.07 19:26
0
COMMENTS
/
0
LIKES
[질문]ADO를 이용하여 엑셀 --> DBGrid
박성준
•
2008.10.07 04:59
1
COMMENTS
/
0
LIKES
[질문] PaintBox 투명...
안녕하세요? Paint Box를 투명하게 할일이 있어서 연구를 해봤는데, 쉽지 않네요. 혹시 PaintBox투명하게 하는 것 아시는 분 알려주시면 감솨드리겠습니다. 꾸벅~
소울해커
•
2008.10.07 19:49
Paint Box를 투명하게 한다는게 무슨 의미인지... 원래 그려지는 부분을 제외하곤 투명하지 않은가...
델만세
•
2008.10.07 00:32
1
COMMENTS
/
0
LIKES
정렬에 대한 질문좀 드릴깨요~
소울해커
•
2008.10.07 19:04
var sNotSortCol: String; begin sNotSortCol := StringGrid1.Cols[ 정렬안할 컬럼 인덱스 ]....
이강석
•
2008.10.07 00:20
1
COMMENTS
/
0
LIKES
Indy Server Socket에서 에러가 납니다..
이강석
•
2008.10.07 03:22
방화벽 때문에 OS에서 연결을 끊어버릴 수도 있나요??
박성준
•
2008.10.06 20:43
2
COMMENTS
/
0
LIKES
[질문] 동적으로 생성된 라벨중 원하는 라벨의 캡션을 바꾸려면?
홍성락
•
2008.10.06 21:29
만드실때 이름은 주셨다면 TLabel(FindComponent('Label_NO' + IntToStr(i)))).Caption := 'Borland'
박성준
•
2008.10.06 23:18
성락님 감사드립니다. 꾸벅~ ^^
박성준
2008/10/07 04:59
Views
810
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
Paint Box를 투명하게 한다는게 무슨 의미인지...
원래 그려지는 부분을 제외하곤 투명하지 않은가요? (그려지는 부분빼곤 뒤에부분이 잘 보이는데...;)
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.StretchDraw(Rect(0, 0, Width, Height), TBitmap(Image1.Picture.Graphic));
PaintBox1.Canvas.Draw(0, 0, TBitmap(Image2.Picture.Graphic));
end;
Paint Box를 투명하게 하는게 아니라 그려진 부분에 알파블렌딩을 적용하시고자 하시는건가요?
그거라면 대충 이렇게...
procedure TForm1.FormPaint(Sender: TObject);
var
ABmp: TBitmap;
bfBlend : _BLENDFUNCTION;
begin
Canvas.StretchDraw(Rect(0, 0, Width, Height), TBitmap(Image1.Picture.Graphic));
ABmp := TBitmap.Create;
with ABmp do
begin
try
PixelFormat := pf24bit;
Width := Image2.Width;
Height := Image2.Height;
Canvas.Draw(0, 0, TBitmap(Image2.Picture.Graphic));
bfBlend.BlendOp := AC_SRC_OVER;
bfBlend.BlendFlags := 0;
bfBlend.SourceConstantAlpha := 80;
bfBlend.AlphaFormat := 0;
Windows.AlphaBlend(PaintBox1.Canvas.Handle, 0, 0, PaintBox1.Width, PaintBox1.Height, Canvas.Handle, 0, 0, Width, Height, bfBlend);
finally
if Assigned( ABmp ) then FreeAndNil( ABmp );
end;
end;
end;