Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
bitmap을 2진으로 변경
bmp파일을 흑과백으로변환이 가능한지
즉 칼라로 출력하지 않고 검정색과 힌색으로만 출력하도록.
감사합니다.
1
COMMENTS
구창민
•
2000.04.12 22:06
박대석 wrote:
> bmp파일을 흑과백으로변환이 가능한지
> 즉 칼라로 출력하지 않고 검정색과 힌색으로만 출력하도록.
> 감사합니다.
일전에 Torry페이지에선가 우연히 보았던 내용인데..
흑백칼라로 만들어 주는 예제입니다.
배열을 사용하므로, 이미지가 클 경우 엄청 느려질 수 있습니다.
그냥, 참고만 하세요..
function TForm1.ToGrayscale(C: TColor): TColor;
var
Blu, Green, Red, Y: double;
begin
Blu := ( ( C and $ff0000 ) shr 16 );
Green := ( ( C and $ff00 ) shr 8 );
Red := ( C and $ff );
Y := ( Blu * 0.11 ) + ( Green * 0.59 ) + ( Red * 0.30 );
Result := TColor(Trunc(Y) * integer(65793));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
C: TCanvas;
R: TRect;
x, y: integer;
begin
C := Image1.Canvas;
R := C.ClipRect;
for y := R.Top to R.Bottom do
for x := R.Left to R.Right do
C.Pixels[x, y] := ToGrayscale(C.Pixels[x, y]);
end;
그럼~ 즐거운 프로그래밍 하시길~
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
이상우
2000.04.13 00:11
0
COMMENTS
/
0
LIKES
[델파이질문] Html파일보기, SMTP Connection 끊기
나몰라
2000.04.12 23:39
0
COMMENTS
/
0
LIKES
지원 사격 부탁 - RichEdit -> Html로 코딩
차니
•
2000.04.12 23:10
1
COMMENTS
/
0
LIKES
BatchMove사용법 좀 갈쳐 주세요...!
박성훈
•
2000.04.14 19:20
차니 wrote: > BatchMove사용법 좀 갈쳐 주세요...!고수님들 > 디비를 합치려하는데...BatchMove를 사용...
왕성희
2000.04.12 23:05
0
COMMENTS
/
0
LIKES
멀티프로그래밍에 대해 상세히 알고 싶습니다.
유솔로몬
2000.04.12 22:35
0
COMMENTS
/
0
LIKES
Re: [급한질문] 해괴 망측한 현상...
shchung
•
2000.04.12 22:24
1
COMMENTS
/
0
LIKES
Transacton처리(취소시..)
하얀까마귀
•
2000.04.13 01:05
안녕하세요 하얀까마귀 입니다. commit 과 rollback 는 dataBase에 있는 StartTransaction과 같이 사용...
하윤철
2000.04.12 21:12
0
COMMENTS
/
0
LIKES
Re: 서버에서 파일 자동다운로드 시키는 방법 ???
박대석
•
2000.04.12 21:09
1
COMMENTS
/
0
LIKES
bitmap을 2진으로 변경
bmp파일을 흑과백으로변환이 가능한지 즉 칼라로 출력하지 않고 검정색과 힌색으로만 출력하도록. 감사합니다.
구창민
•
2000.04.12 22:06
박대석 wrote: > bmp파일을 흑과백으로변환이 가능한지 > 즉 칼라로 출력하지 않고 검정색과 힌색으로만 ...
del초보
2000.04.12 20:48
0
COMMENTS
/
0
LIKES
도트프린터로 인쇄
황남철
2000.04.12 20:48
0
COMMENTS
/
0
LIKES
분류먼저 해주시길 부탁드립니다.
양동욱
2000.04.12 20:26
0
COMMENTS
/
0
LIKES
현재 폼의 메모박스에서 다른 폼의 메모 박스로 이동 하려면....
궁금녀
•
2000.04.12 20:05
1
COMMENTS
/
0
LIKES
진짜루 급해요...Table 혹은 Query 수정, 추가, 삭제방법??
황남철
•
2000.04.12 20:42
궁금녀 wrote: > 안녕하세요? > > 전 델파이를 시작한지 얼마 되지않은 델초인데요... > > 다름이 ...
이환진
2000.04.12 20:09
0
COMMENTS
/
0
LIKES
Quick Report에 관한 질문입니다!^^
orion
2000.04.12 19:37
0
COMMENTS
/
0
LIKES
퀵리포트 보기에서 툴바 아이콘이 안보입니다?
황선희
•
2000.04.12 19:31
1
COMMENTS
/
0
LIKES
Stack overflow 에러
좋은날
•
2000.04.15 02:17
황선희 wrote: > > 데이타를 조회하고 나서 종료버튼을 클릭하면 에러가 발생합니다. > > 종료버튼에...
타락천사
•
2000.04.12 19:01
1
COMMENTS
/
0
LIKES
TString과 TStringList의 차이가 모져?????
하얀까마귀
•
2000.04.13 01:54
안녕핫세요 하얀까마귀 입니다. 음.. 두개의 차이라... 아주 깊이까지는 잘 모르겠고요.. 아는데 까...
우진
•
2000.04.12 11:54
2
COMMENTS
/
0
LIKES
html문서를 볼려면....??
류종택
•
2000.04.12 15:02
아래를 참고 하세요.. Function GetHTML(Browser:TWebBrowser):String; Begin Try Result:= B...
반항아
•
2000.10.10 21:29
Delphi5에선 TWebbrowser콤퍼넌트를 사용하면 됩니다. var URLIn,Dir1: String; begin URLIn := 'C:...
초짜
2000.04.12 10:26
0
COMMENTS
/
0
LIKES
PrintMargin에 관해서..... 꼭좀 알려주세여~
풋나기
•
2000.04.12 10:22
2
COMMENTS
/
0
LIKES
RichEdit에서 Popupmenu를 위한 마우스커서위치...부탁...
최용일
•
2000.04.12 20:15
안녕하세요. 최용일입니다. 대부분 OnMouseUp이벤트(or OnMouseDown)에서 팝업메뉴를 띄우는데 이 이벤...
초짜
•
2000.04.12 21:37
최용일님! 넘 감사합니다. 꾸뻑
나그네
•
2000.04.12 05:57
2
COMMENTS
/
0
LIKES
QuickReport에서 첫데이타출력이 안되네요
이경수
•
2000.04.12 19:40
나그네 wrote: > 데이타를 출력하는데 Detail band만을 사용하고 있습니다. > 기본적인 출력인데 첫 데이...
강인규
•
2000.04.12 19:38
저의 대답이 원하시는 답이었으면 좋겠습니다. 쿼리를 이용하여 출력시 가끔 출력물리 두번째 내용부터 출...
박대석
2000/04/12 21:09
Views
194
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> bmp파일을 흑과백으로변환이 가능한지
> 즉 칼라로 출력하지 않고 검정색과 힌색으로만 출력하도록.
> 감사합니다.
일전에 Torry페이지에선가 우연히 보았던 내용인데..
흑백칼라로 만들어 주는 예제입니다.
배열을 사용하므로, 이미지가 클 경우 엄청 느려질 수 있습니다.
그냥, 참고만 하세요..
function TForm1.ToGrayscale(C: TColor): TColor;
var
Blu, Green, Red, Y: double;
begin
Blu := ( ( C and $ff0000 ) shr 16 );
Green := ( ( C and $ff00 ) shr 8 );
Red := ( C and $ff );
Y := ( Blu * 0.11 ) + ( Green * 0.59 ) + ( Red * 0.30 );
Result := TColor(Trunc(Y) * integer(65793));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
C: TCanvas;
R: TRect;
x, y: integer;
begin
C := Image1.Canvas;
R := C.ClipRect;
for y := R.Top to R.Bottom do
for x := R.Left to R.Right do
C.Pixels[x, y] := ToGrayscale(C.Pixels[x, y]);
end;
그럼~ 즐거운 프로그래밍 하시길~