public Color GetColor(float x, float y)
{
Color _color = Color.black;
//if((_ox != x)&&(y == 200)) {
// _ox = x;
// _dem ++ ;
// if(_dem < 300) {
// _show = true;
// }
//}
float _percent = Percent(x, y);
//if(_show == true) {
// UnityEngine.Debug.Log("x " + x + " y " + y + " percent " + _percent);
//}
if((_stopOffsetList[_vitriOffset] <= _percent) && (_percent <= _stopOffsetList[_vitriOffset + 1])) {
_color.r = ((_percent - _stopOffsetList[_vitriOffset]) * _deltaR) + _stopColorList[_vitriOffset].r;
_color.g = ((_percent - _stopOffsetList[_vitriOffset]) * _deltaG) + _stopColorList[_vitriOffset].g;
_color.b = ((_percent - _stopOffsetList[_vitriOffset]) * _deltaB) + _stopColorList[_vitriOffset].b;
} else {
for(int i = 0; i < _stopOffsetList.Count - 1; i++)
if((_stopOffsetList[i] <= _percent) && (_percent <= _stopOffsetList[i + 1])) {
_vitriOffset = i;
PreColorProcess(_vitriOffset);
_color.r = ((_percent - _stopOffsetList[i]) * _deltaR) + _stopColorList[i].r;
_color.g = ((_percent - _stopOffsetList[i]) * _deltaG) + _stopColorList[i].g;
_color.b = ((_percent - _stopOffsetList[i]) * _deltaB) + _stopColorList[i].b;
break;
}
}
//_show = false;
return _color;
}
public void EndSubBuffer(SVGRadialGradientBrush radialGradientBrush) { PreEndSubBuffer(); for (int i = inZoneL; i < subW + inZoneL; i++) { for (int j = inZoneT; j < subH + inZoneT; j++) { if (flag[i, j] == 0) { Color _color = radialGradientBrush.GetColor(i, j); graphics.SetColor(_color); graphics.SetPixel(i, j); } } } }