2014-12-28 3 views
2

Я рисую градиент текст canvas.While масштабирования его подачи совершенно другое поведениеградиент при масштабировании в холсте android?

textShader=new LinearGradient(0, 0, 0, paint.getTextSize(), 
      new int[]{color,secondary_color}, 
      new float[]{0, 1}, Shader.TileMode.CLAMP); 
    paint.setShader(textShader); 

при зумировании

 paint.setTextSize(size*scale);// scale is a zooming factor 

enter image description here

ответ

0

Вы можете попробовать

textShader=new LinearGradient(0, 0, 0, paint.getTextSize(), 
      new int[]{color,secondary_color}, 
      null, Shader.TileMode.CLAMP); 

в качестве docs говорят, что значение по умолчанию для равномерного распределения цветов.

Если никакого эффекта, вызовите paint.setShader(textShader) снова после увеличения, чтобы заставить пересчитать позиции.

Смежные вопросы