如何实现在页面上绘画

yooono 2005-12-22 09:34:57
最近想做一个在页面上涂鸦的东西:一个小说浏览得站点,我想用户在浏览得时候可以一边看一边用鼠标在上面画线,或者写字,(就是一副图片),还可以保存所写内容到当地。不知道该如何实现。
用java吧应该很简单,但是我基础不好,我是做c#的,我想用c#做成dll行吗?该如何实现?请高手指点。
...全文
197 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yooono 2005-12-23
  • 打赏
  • 举报
回复
帮我看看呀,怎么才能确定java得到的位置和用vml画出来的位置是重合得呢?
runnercn 2005-12-22
  • 打赏
  • 举报
回复
VML
yooono 2005-12-22
  • 打赏
  • 举报
回复
上面那段java 控制的画线为什么画不准?
请高手解决
yooono 2005-12-22
  • 打赏
  • 举报
回复
5555555
不懂外语
shrinerain 2005-12-22
  • 打赏
  • 举报
回复
mark
lovefootball 2005-12-22
  • 打赏
  • 举报
回复
如果是web
我一直用vml,感觉还不错
你可以看看vml极道教程
网上可以载到
或者看看这个网站
一个老外的
很不错
http://www.walterzorn.com/
yooono 2005-12-22
  • 打赏
  • 举报
回复
怎么写呢?
web上怎么绘图?
DiverSoft 2005-12-22
  • 打赏
  • 举报
回复
试一试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

man_la123 2005-12-22
  • 打赏
  • 举报
回复
写一个WEBFORM 吧
yooono 2005-12-22
  • 打赏
  • 举报
回复
贴一段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>

这个怎么画出来以后位置不太对呀。
yooono 2005-12-22
  • 打赏
  • 举报
回复
恩,javascript呵呵
客户端运行的东东
里面的vml得坐标点怎么和用java得到的不一样呀
marvelliu 2005-12-22
  • 打赏
  • 举报
回复
楼主的代码是用javascript写的,不是java。这是有本质区别的。
个人认为用C#写比较不合算,因为你所有的事件处理都是在服务器端完成的,时间和资源开销太大,而且不能保存到客户端,不符合你的要求。
像你贴的js的代码是在客户端运行的,可以读写客户端的文件。
yooono 2005-12-22
  • 打赏
  • 举报
回复
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测试出来的点是不准得,
为什么呀

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧