如何实现在页面上绘画 最近想做一个在页面上涂鸦的东西:一个小说浏览得站点,我想用户在浏览得时候可以一边看一边用鼠标在上面画线,或者写字,(就是一副图片),还可以保存所写内容到当地。不知道该如何实现。用java吧应该很简单,但是我基础不好,我是做c#的,我想用c#做成dll行吗?该如何实现?请高手指点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 贴一段java得,抛砖引玉<html xmlns:v="urn:schemas-microsoft-com:vml"><head><title>画个图</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><STYLE> v\:* { BEHAVIOR: url(#default#VML) }body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; cursor:url(pen_i.cur);}.p1{cursor:url(pen_i.cur)}</STYLE><SCRIPT LANGUAGE="JavaScript">//作者坚信科学技术是第一生产力,努力向技术更高峰攀登。决定了就要去做,做就要做好!var flag = 0;var ind = 0; //曲线段计数var indNb = 0; //曲线段内部坐标计数var point = new Array();var xian = "";function microsoftMouseMove() { if ((window.event.x != document.all.x.value || window.event.y != document.all.y.value) && flag==1) { document.all.x.value = window.event.x; document.all.y.value = window.event.y; var tx = event.clientX + document.body.scrollLeft; var ty = event.clientY + document.body.scrollTop; //tx=window.event.x+ document.body.scrollLeft; //ty=window.event.y+document.body.scrollTop; point[ind][indNb] = tx + "," + ty; //记录鼠标x,y坐标 xian += point[ind][indNb] + " "; indNb += 1; //点数累加 }}function msDown() { xian = ""; xian = "<v:PolyLine style='POSITION:absolute;Z-INDEX:1;WIDTH:1;HEIGHT:1;TOP:0;LEFT:0' filled='false' Points='" point[ind] = new Array(); indNb = 0; //新线段开始,点数清零 var tx = event.clientX + document.body.scrollLeft; var ty = event.clientY + document.body.scrollTop; //tx=window.event.x+ document.body.scrollLeft; //ty=window.event.y+document.body.scrollTop; point[ind][indNb] = tx + "," + ty; //记录 xian += point[ind][indNb] + " "; indNb += 1; //点数累加 flag = 1;}function msUp() { flag = 0; ind += 1; //线段数累加 if (xian != "") { xian += "'/>"; newPoint = document.createElement(xian); group1.appendChild(newPoint); parent.document.all.txt.value += xian + "\n"; }}function printXd() { lin = point.length; str = ""; for (i=0; i<lin; i++) { ct = point[i].length; str += "<v:PolyLine style='POSITION:absolute;Z-INDEX:1;WIDTH:5;HEIGHT:5;TOP:0;LEFT:0' filled='false' Points='" for (j=0; j<ct; j++) { str += point[i][j] + " "; } str += "'/>\n"; }}</SCRIPT></head><body bgcolor="#fef4d9" onmousemove="microsoftMouseMove()" onmousedown="msDown()" onmouseup="msUp()" onselectstart="return false;"><div id=test style="display:none;"> <input type="text" name="x" size="4"><input type="text" name="y" size="4"></div><v:group ID="group1" style="WIDTH:200px;HEIGHT:175px;TOP:0;LEFT:0" coordsize="200,200"></v:group></body></html>这个怎么画出来以后位置不太对呀。 试一试SVG吧!====CSDN 小助手 V2.5 2005年11月05日发布====CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx下载:http://szlawbook.com/csdnv2 怎么写呢?web上怎么绘图? 如果是web我一直用vml,感觉还不错你可以看看vml极道教程网上可以载到或者看看这个网站一个老外的很不错http://www.walterzorn.com/ 上面那段java 控制的画线为什么画不准?请高手解决 vml为什么画不准?请看下面的代码:<HTML xmlns:v><head><SCRIPT><!--function statusreport() { var tempx = event.clientX + document.body.scrollLeft; var tempy = event.clientY + document.body.scrollTop; status='在整个页面中的X, Y坐标 : ('+tempx+', '+tempy+') ; 在当前窗口中的X, Y坐标 : ( '+event.clientX+', '+event.clientY +')';}//--></SCRIPT><STYLE>v\:*{behavior:url(#default#VML);}</STYLE></head><BODY onmousemove="statusreport();"><v:Polyline points='100 100 200 100 '/>直接保存成test.htm运行,就可以看到vml实际点和用java测试出来的点是不准得,为什么呀 楼主的代码是用javascript写的,不是java。这是有本质区别的。个人认为用C#写比较不合算,因为你所有的事件处理都是在服务器端完成的,时间和资源开销太大,而且不能保存到客户端,不符合你的要求。像你贴的js的代码是在客户端运行的,可以读写客户端的文件。 恩,javascript呵呵客户端运行的东东里面的vml得坐标点怎么和用java得到的不一样呀 帮我看看呀,怎么才能确定java得到的位置和用vml画出来的位置是重合得呢? 关于C#接收和发送串口数据 很诡异的画图板问题,你遇到过吗? 求C#反编程高手,价格好商量 关于pdf文件中图片的问题 兄弟们,帮帮忙,再做不出来要下岗了!重金求解! 自己构件PKI和CA(1)--选运行平台,加密开发包等的各种可能方案 日期的格式转换 请问 .net下面的水晶报表怎么用,谢谢 菜鸟问题~~请指教 请问C#中的取字符串的子串呢????? 验证输入必须为数字和字母的组合的正则表达式该怎么写? 高分求救
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>画个图</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<STYLE>
v\:* { BEHAVIOR: url(#default#VML) }
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
cursor:url(pen_i.cur);
}
.p1{cursor:url(pen_i.cur)}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
//作者坚信科学技术是第一生产力,努力向技术更高峰攀登。决定了就要去做,做就要做好!
var flag = 0;
var ind = 0; //曲线段计数
var indNb = 0; //曲线段内部坐标计数
var point = new Array();
var xian = "";
function microsoftMouseMove() {
if ((window.event.x != document.all.x.value || window.event.y != document.all.y.value) && flag==1) {
document.all.x.value = window.event.x;
document.all.y.value = window.event.y;
var tx = event.clientX + document.body.scrollLeft;
var ty = event.clientY + document.body.scrollTop; //tx=window.event.x+ document.body.scrollLeft;
//ty=window.event.y+document.body.scrollTop;
point[ind][indNb] = tx + "," + ty; //记录鼠标x,y坐标
xian += point[ind][indNb] + " "; indNb += 1; //点数累加
}
}function msDown() {
xian = "";
xian = "<v:PolyLine style='POSITION:absolute;Z-INDEX:1;WIDTH:1;HEIGHT:1;TOP:0;LEFT:0' filled='false' Points='"
point[ind] = new Array();
indNb = 0; //新线段开始,点数清零
var tx = event.clientX + document.body.scrollLeft;
var ty = event.clientY + document.body.scrollTop; //tx=window.event.x+ document.body.scrollLeft;
//ty=window.event.y+document.body.scrollTop;
point[ind][indNb] = tx + "," + ty; //记录
xian += point[ind][indNb] + " ";
indNb += 1; //点数累加
flag = 1;
}function msUp() {
flag = 0;
ind += 1; //线段数累加
if (xian != "") {
xian += "'/>";
newPoint = document.createElement(xian);
group1.appendChild(newPoint);
parent.document.all.txt.value += xian + "\n";
}
}function printXd() {
lin = point.length;
str = "";
for (i=0; i<lin; i++) {
ct = point[i].length;
str += "<v:PolyLine style='POSITION:absolute;Z-INDEX:1;WIDTH:5;HEIGHT:5;TOP:0;LEFT:0' filled='false' Points='"
for (j=0; j<ct; j++) {
str += point[i][j] + " ";
}
str += "'/>\n";
}
}
</SCRIPT>
</head>
<body bgcolor="#fef4d9" onmousemove="microsoftMouseMove()" onmousedown="msDown()" onmouseup="msUp()" onselectstart="return false;">
<div id=test style="display:none;">
<input type="text" name="x" size="4"><input type="text" name="y" size="4">
</div>
<v:group ID="group1" style="WIDTH:200px;HEIGHT:175px;TOP:0;LEFT:0" coordsize="200,200"></v:group>
</body>
</html>这个怎么画出来以后位置不太对呀。
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2
web上怎么绘图?
我一直用vml,感觉还不错
你可以看看vml极道教程
网上可以载到
或者看看这个网站
一个老外的
很不错
http://www.walterzorn.com/
请高手解决
请看下面的代码:
<HTML xmlns:v><head>
<SCRIPT>
<!--
function statusreport() {
var tempx = event.clientX + document.body.scrollLeft;
var tempy = event.clientY + document.body.scrollTop;
status='在整个页面中的X, Y坐标 : ('+tempx+', '+tempy+') ; 在当前窗口中的X, Y坐标 : ( '+event.clientX+', '+event.clientY +')';
}
//-->
</SCRIPT><STYLE>
v\:*{behavior:url(#default#VML);}
</STYLE>
</head><BODY onmousemove="statusreport();">
<v:Polyline points='100 100 200 100 '/>
直接保存成test.htm运行,就可以看到vml实际点和用java测试出来的点是不准得,
为什么呀
个人认为用C#写比较不合算,因为你所有的事件处理都是在服务器端完成的,时间和资源开销太大,而且不能保存到客户端,不符合你的要求。
像你贴的js的代码是在客户端运行的,可以读写客户端的文件。
客户端运行的东东
里面的vml得坐标点怎么和用java得到的不一样呀