필자는 패턴 채우기 사용을 지원하기 위해 작성한 SVG 라이브러리를 업데이트하려고합니다. 필자가 보았던 SVG 파일에서 패턴 채우기를 사용하는 경우, 패턴은 모양의 측면에서 정의됩니다 (외부 또는 포함 된 비트 맵과 반대 됨).Drawable을 어떻게 든 셰이더로 사용할 수 있습니까?
것은이 문제를 처리 할 수 있으려면, 내가 뭘 생각 무엇을 파서 패턴에 의해 정의 된 도형을 그리는 Drawable
를 만든 다음 어떻게 든 Paint
에 대한 Shader
로 Drawable
것을 사용하는 것입니다.
불행히도 DrawableShader
과 같은 것이 존재하지 않는다고 생각합니다. 이와 같은 것을 구현하는 것은 기존 Shader
클래스의 소스에서 볼 수있는 원시 코드로 파고들 것이라는 의미입니다.
나를위한 유일한 해결책은 패턴 타일을 Bitmap
으로 렌더링 한 다음 BitmapShader
을 사용하는 것입니다. 그래도 괜찮 았지 만 스케일링의 잠재적 인 품질 문제를 피하기 위해 모든 것을 벡터 집합으로 유지하는 것을 선호합니다.
Bitmap
과 BitmapShader
경로를 가기 전에 간과 한 다른 방법이 있습니까?