java svg image xlink_SVG xlink - 程序园

http://www.w3.org/TR/SVG/linking.html

Modify the code from : http://blog.csdn.net/solaris_navi/article/details/7467480

// draw a circle then add hyperlink on it

String point ="" +

"

"cy='"+ String.valueOf((starty+height-(float)numbers[i]*(float)rh))+"' " +

"r='3' fill='black'/>" +

"";

circlepoint += point;

1334591039_9653.png

Main function:

private double getMax(double[] intarr)

{

double m = intarr[0];

double c = 0;

for(int i=1;i

{

c = intarr[i];

if(c > m)

m = c;

}

return m;

}

private String getSVGDrawLine(int width, int height, int startx, int starty, double[] data)

{

String htmlstr;

// if width height ==0 then => error

double maxdatavalue = this.getMax(data);

int datapoints = data.length;

String coordi = "" +

"y=max:"+String.valueOf(maxdatavalue)+"" +

"x=max:"+String.valueOf(datapoints-1)+"" +

"0";

float rw = (float)width / (float)datapoints;

float rh = (float)height / (float)maxdatavalue;

String points = "";

String circlepoint = "";

// System.out.println(height+","+maxdatavalue+","+rh);

for(int i=0;i

{

points += " " + String.valueOf((int)(startx + i*rw)) + "," + String.valueOf((starty+height-(float)data[i]*(float)rh));

//System.out.println( " " + String.valueOf(startx + (int)(i*rw)) + "," + String.valueOf((float)starty+(((float)numbers[i])*rh)));

// draw a circle then add hyperlink on it

String point ="" +

"

"cy='"+ String.valueOf((starty+height-(float)data[i]*(float)rh))+"' " +

"r='3' fill='black'/>" +

"";

circlepoint += point;

}

int nhl = (int)(height/25); // num of horizontal line

int nvl = (int)(width/100); // num of vertical line

if(nhl >= maxdatavalue)

nhl = (int)maxdatavalue;

if(nvl >= datapoints)

nvl = datapoints;

boolean isdrawdotlinehor = false;

boolean isdrawdotlinevor = false;

if(nhl >= 1)

isdrawdotlinehor = true;

if(nvl >= 1)

isdrawdotlinevor = true;

String dotLinehor = "";

String dotLinevor = "";

if(isdrawdotlinehor)

{

for(int i=1; i

{

dotLinehor += ""+String.valueOf(maxdatavalue - (int)((float)maxdatavalue/(float)nhl*(float)i))+""+

"";

}

}

//System.out.println(nvl);

if(isdrawdotlinevor)

{

for(int i=1; i

{

dotLinehor += ""+String.valueOf((int)((float)datapoints/(float)nvl*(float)i))+""+

"";

}

}

String drawline = "";

String svgstr = "" +

coordi +

dotLinehor +

dotLinevor +

drawline +

circlepoint +

"" ;

htmlstr = " " +

"

" +

svgstr +

"" +

"";

return htmlstr;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值