2014-01-28 4 views
-4

C++의 특정 좌표에서 문자를 가져 오는 방법은 무엇입니까? 해당 좌표에 gotoxy()을 사용하고 일부 기능을 사용하여 문자를 읽을 수 있습니까?C++에서 주어진 좌표에서 문자 가져 오기

+0

텍스트가 호스트되는 응용 프로그램과 관계없이 화면의 특정 지점에서 문자를 읽으려고합니까? 질문을 펼치므로 실제로하려는 일을 알고 있습니다. – steveg89

+0

입력 한 문자열의 특정 문자를 원할 경우를 대비하여 :'std :: string line; std :: getline (std :: cin, line); std :: cout << line [pos];'... – LihO

+0

우리는 당신이하려고하는 것이 정확히 무엇인지 모릅니다. 우리는 문제의 맥락을 알지 못하며, 우리에게 당신의 시도가 없거나 이것이 필요한 기존의 코드를 보여주지 못했습니다. – LihO

답변

1

먼저 떨어져, 표준 C++에는 표시 개념이 없습니다. 디스플레이는 래스터 또는 광선 추적 또는 다른 것일 수 있습니다.

화면을 사용하는 콘솔 프로그램 및 윈도우 응용 프로그램이 있습니다. 따라서 플랫폼에 대한 자세한 정보가 필요합니다.

프로그램이 화면에 "인쇄"되면 문자가 글꼴을 사용하여 비트 맵으로 변환되고 그래픽 메모리에 저장됩니다. 그래픽 메모리에는 문자 또는 도형의 개념이없고 단지 오래된 오래된 점이 있습니다.

또한 디스플레이의 좌표는 픽셀 크기, 픽셀 밀도 및 픽셀 깊이 (값/색상)에 따라 달라집니다. 예를 들어, 문자 비트 맵은 녹색 또는 파란색이거나 더 클 수 있습니다.

그래서 디스플레이 메모리의 주어진 지점에서 문자를 검색하려면 포인트가 어디에 있는지 (글꼴 비트 맵 에서조차도) 확인한 다음 어떤 종류의 OCR을 사용하여 문자를 결정해야합니다 , 글꼴 및 피치 (글꼴 높이).

그래서이 작업을 수행 할 수있는 기능이있을 수 있습니다. 검색하다. 표준 C++ 라이브러리에는 하나도 없습니다.

+0

그래픽 모드에서 작업하는 경우 문자의 이미지를 만들어 화면의 이미지와 비교할 수 있습니까? 비록 내가하려고하는 일은 텍스트 모드에서해야하지만 그래픽 모드에서 적어도 가능합니까? –

+0

광학 문자 인식 (OCR)에 대한 정보를 읽으십시오. 당신이 묻는 것은 당신이 느끼는 것보다 더 어려울 수 있습니다. 디스플레이 메모리에서 비트 맵을 검색하여 다른 {font} 비트 맵과 비교할 수 있어야합니다. 고정 소수점 ASCII 문자 세트가 주어지면 비교해야 할 128 비트 맵입니다. 또는 최소한 캐릭터의 비트 맵. 하나 이상의 픽셀이 제자리에 있지 않으면 정확하게 일치하지 않습니다. –

+0

또한 기울임 꼴, 밑줄, 취소 선, 굵은 체의 비트 맵은 일반 문자의 비트 맵과 일치하지 않습니다. –

0

Curses 무엇을 찾고 계십니까?

+0

Curses 라이브러리는 터미널의 주어진 위치에 어떤 문자가 있는지 알려줄 수 있습니까? 내 이해 Curses는 출력 전용 패키지입니다. –