C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[41001] Re:벡터이미지 프린팅 방법이 궁금합니다.
leo21c [leo21c] 909 읽음    2005-07-12 16:11
아래에 쓴 글처럼 하면 문제가 없다는 것이 확인되었습니다.
Line을 그릴때 Solid로 처리하지 않고 UserStyle로 처리하니까
Epson에서도 정상적으로 프린트 되더군요.
혹시 이와 같은 문제가 있던 분들을 참고하세요.

leo21c 님이 쓰신 글 :
: 현재 벡터 프로그램을 개발하고 있습니다.
: 프린트 하는 부분에 문제가 있어서 질문드립니다.
:
: 현재 프린팅하고 있는 방법은 이렇습니다.
: 비트맵은 이미지의 dpi와 프린터의 dpi가 틀리기 때문에 대부분 확대가 되어서
: 이미지의 손상이 있습니다.
: 따라서 벡터이미지 같은 경우는 확대/축소시에도 이미지의 변화가 없어야 하기
: 때문에 pinter dc에 프린터 dpi를 계산해서 현재 화면에 보여주는 그대로의 크기로
: 직접 그려주게 만들었습니다.
: 이렇게 처리하다 보니 일부 프린터(엡손)에서는 벡터라인이 중간, 중간에 끊어지는
: 문제가 발생했습니다. 이 이유는 확실하게 알수가 없었습니다.
: HP 프린터에서는 여러번 테스트를 했지만 잘 되었습니다. ㅠㅠ (몇십번 테스트 해보지 않았습니다.)
:
: 이 문제를 처리하기 위해서 프린터dpi에 맞는 이미지(bitmap)를 만들고 그 이미지(bitmap)에
: 원하는 (화면에 보이는)비트맵을 stratchblt시키고 벡터 같은 경우는 그 이미지에 직접 그려준후
: 결과 이미지(bitmap)를 프린터dc로 넘겨 프린트를 했습니다.
:
: 이렇게 처리를 했더니 문제는 발생하지 않지만 메모리가 엄청나게 많이 먹는
: 문제가 발생했습니다.
: 처음 문제가 발생하는 방법으로 처리하면 몇Kbytes이면 되지만 수정후 방법은
: 몇Mbytes를 처리해야만 했습니다. 프린터 버퍼(스풀)에 올라가는 용량을 말합니다.
: 당연히 속도도 엄청 많이 걸리고 프린터 버퍼 용량에도 문제가 있을 것 같고
: 하여튼간에 이러한 문제가 발생했습니다.
:
: 벡터 이미지를 프린트 해보신 경험이 있으신 분은 방법 좀 알려 주셨으면 좋겠습니다.
:
: 사실 이런한 문제점의 시초는 프린터 dc에 직접 라인을 그렸을 때 라인이 끊어지는
: 문제가 발생했다는 것에 있습니다. 도대체  왜 이런 문제가 발생할까요?
: 소스 디버깅을 해 보면 문제가 없는 것 같습니다. 여러명이 소스를 봤거든요.

+ -

관련 글 리스트
40292 벡터이미지 프린팅 방법이 궁금합니다. leo21c 916 2005/05/24
41001     Re:벡터이미지 프린팅 방법이 궁금합니다. leo21c 909 2005/07/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.