전 캔버스에 그려야하는 Path 객체의 텍스처로 작동하는 전체 화면에 걸친 비트 맵을 가지고 있습니다. 그런 다음이 질감 된 경로를 맨 위에 그려야하는 배경 이미지가 있습니다.Android - API 드로잉 루틴에 비트 맵 텍스처 적용
PorterDuff 모드를 사용해 보았지만 아무 것도 올바르게 작동하지 않았습니다. PorterDuff 모드가 작동하는 방식을 정확히 파악하는 데 어려움을 겪고있었습니다. 그 중 아무 것도 동작하지 않는 것 같습니다. I always thought they were supposed to function.
나는이 테스트 코드 경로를 텍스처하는 방법을 알아 냈어요 :
Paint paint = new Paint();
//draw the texture
canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.texture),0,0,paint);
//construct the Path with an inverse even-odd fill
Path p = new Path();
p.setFillType(Path.FillType.INVERSE_EVEN_ODD);
p.addCircle(this.getHeight()/2, this.getWidth()/2, 200, Path.Direction.CCW);
//use CLEAR to remove inverted fill, thus showing only the originally filled section
paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.CLEAR));
//draw path
canvas.drawPath(p, paint);
하지만 다음 배경 이미지 위에 그것을 배치하는 방법을 알아낼 수 없습니다. PorterDuff 모드를 잘못 사용하고 있습니까?
스타일이 채우기 만하면 그만큼 중요한 부분입니다. 채우기 색상이나 획을 보지 않아야하기 때문입니다. BitmapShader를 사용 하겠지만 원하는 방식으로 텍스처의 좌표를 수정하는 방법을 모르겠습니다. 내가 모르는 방법이 있니? – Taw