2015-01-14 1 views
2

drawstring() 메서드를 사용하여 몇 가지 작업을하는 동안 문자열 매개 변수에서 픽셀 배열을 추출하여 반환 형식을 2 차원 픽셀 배열에 맞출 수 있는지 궁금합니다. 이 메서드는 크기 조정 및 채색 작업도 수행해야합니다.문자열의 픽셀을 얻는다

drawstring()을 사용하여 단순히 그 특정 영역에서 데이터를 가져 오는 픽셀 리스너가있는 그래픽 매개 변수에 문자열을 그려야합니다. 하지만 사진을 그릴 필요없이 픽셀을 얻을 수있는 방법인지 궁금합니다.

나는 픽셀 엔진을 사용하여 파도, 3D 회전 및 시원한 입자 효과와 같은 효과를 추가 할 수 있기를 원합니다. 그리면 픽셀을 많이 차지하여 공간을 많이 차지합니다!

문자열이 픽셀 배열로 추출되기 전에 문자열의 크기가 조절되고, 색이 지정되고 변형되어 문자열이 작동하지 않는다는 것을 기억하십시오.

+0

드로잉은 픽셀을 얻는 것입니다. –

+0

픽셀을 얻으려면 꼭 그려야합니다. 실제로 픽셀을 사용하는 것에 따라,'TextMetrics'가 작업을 완료 할 수 있습니다. – OrangeDog

+0

빠른 응답을 주셔서 감사합니다. 아픈 것 같아요. 드로잉 없이는 100 % 불가능한가요? 이유는 그리기를 원하지 않는 이유는 드로잉을하면 방금 그려진 픽셀을 복사하기 때문에 필요한 불필요한 스크립트입니다. 픽셀을 변환하려고한다는 질문을 편집했습니다. 파동을하기 위해서, 내가 가지고있는 픽셀 엔진을 사용하는 3D 회전을 사용합니다. 즉, 드로잉이고 이것이 발생하면 매 픽셀마다 잡는다면 초당 업데이트가 많이 떨어질 것입니다. –

답변

0

문자열을 그리는 동작은 복잡합니다. 문자열의 텍스트 데이터는 먼저 지정된 글꼴의 글리프 시퀀스로 디코딩되어야합니다. 그런 다음 글꼴을 렌더링 할 축척에서 글꼴의 곡선 정의와 교차하는 선을 통해 래스터 화됩니다. 실제로 "힌팅"이라는 프로세스를 사용하면 훨씬 더 복잡해집니다. 글리프를 래스터 화 한 후에는 픽셀 배열을 사용하여 디스플레이 장치로 보낼 수 있습니다.

당신이하고 싶은 일은 텍스트를 글꼴 모양으로 만든 곡선 집합으로 변환하여 중간에이 과정을 중단하는 것입니다. 다음과 같은 코드를 사용하면 커브를 얻을 수 있습니다.

Graphics graphics; 
Font font = new Font("ComicSans", Font.PLAIN, 12); 
GlyphVector vector = font.createGlyphVector(graphics.getFontMetrics(font).getFontRenderContext(), "Lorem ipsum"); 
Shape shape = vector.getOutline(); 
// transform shape