2014-07-14 4 views
3

이 코드 사용하여 3 개 지역에서 그래프 그리드의 배경을 분리하기 위해 노력하고있어 :androidplot 배경 이미지 변화

int[] data = {0xff000000, 0x80008000, 0xff000000}; 
bgBitmap = Bitmap.createBitmap(data, 1, 3, Bitmap.Config.ARGB_8888); 
RectF rect = plot.getGraphWidget().getGridRect(); 
BitmapShader myShader = new BitmapShader(
        Bitmap.createScaledBitmap(bgBitmap, 1, (int) rect.height(), false), 
        Shader.TileMode.REPEAT, 
        Shader.TileMode.REPEAT); 
plot.getGraphWidget().getGridBackgroundPaint().setShader(myShader); 

그래서 그래프 높이에 3 픽셀 비트 맵을 확장하고 전체 도메인에 그것을 반복을 지역. 그러나 결과 그래프는 배경이 약간 위로 이동 된 것처럼 보임을 보여줍니다. 이동 크기가 도메인 레이블 높이와 거의 같은 것처럼 보입니다.

어떻게 해결할 수 있습니까?

'평판'한숨 때문에 사진을 게시 할 수 없습니다. 예제 그래프에 대한 링크 : http://marcel.mesa.nl/androidplot.png

답변

0

나는 this thread의 끝 부분에 언급 된 문제를 겪고 있다고 생각합니다. 기본적으로 셰이더의 원점은 셰이더를 사용하여 배경을 그리는 구성 요소의 왼쪽 위 모서리가 아니라 화면의 왼쪽 위 모서리입니다. 해결책은 다음과 같이 graphWidget의 왼쪽 상단으로 변환하는 것입니다.

+0

안녕하세요. 감사! 나는 마진과 패딩을 가지고 놀았고 androidplot 소스를 보았지만 그것을 고칠 수 없었다. 이 setTranslate()가 트릭을 수행했습니다. 이 코드는 사용자 앱에서 필요로하지 않기 때문에 라이브러리 자체에 추가 할 수있는 것이 아닙니다 ... – Mirakels

+0

Android API의 문서에서이 세부 정보가 비극적으로 가벼운 데 동의하지만, 그것에 관해서는, Androidplot에 내장 된 유틸리티보다 더 쉽게 작업 할 수 있고 유연성을 제공합니다. 나는 고려해 볼 것이다. :) – Nick

+0

또는 안드로이드 플롯 웹 사이트의 DOC 페이지에있는 작은 하우투 :) – Mirakels