js能否在图片上做标记?或有什么第三方类库可以调用?

yami251139 2009-06-01 02:24:44
http://download.csdn.net/source/1371561
这是具体的内容。
想问下,如何才能实现类似googlemap那种一点图片,然后在那个坐标出现一个标记的功能。
已经取到坐标了,但是我不知道怎么加标记的图片到背景的图片上去?
还是我思路有问题?应该用别的方法做?
总的功能是
1.图片可以拖动,放大缩小
2.双击图片,会出现一个标记。可以多次点击。
3.保存,把坐标保存到数据中。

但不知道如何在图片上做标记。
望js高手指教,谢谢。
...全文
1132 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
vl525lv 2010-05-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 free_wind22 的回复:]
做了个简单的, 标记位置保存在cookie里, 可以参考下.

HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org……
[/Quote]

这样拖动图片或者放大缩小 标记的位置就发生改变了
能不能标记跟着图片放缩和拖动呢???
vl525lv 2010-05-27
  • 打赏
  • 举报
回复
mark 学习
fuzerony 2010-01-25
  • 打赏
  • 举报
回复
这苦恼着这个问题。。
感谢为这问题做出贡献的前辈们。。。
karl122 2009-08-05
  • 打赏
  • 举报
回复
谢谢。对我有用。
qq249143834 2009-08-05
  • 打赏
  • 举报
回复
学习了
yami251139 2009-07-16
  • 打赏
  • 举报
回复
已解决,谢谢ls的参考意见
2009-06-02
  • 打赏
  • 举报
回复
做了个简单的, 标记位置保存在cookie里, 可以参考下.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试图片标记</title>
<style type="text/css">
#container{
position:relative; width:400px; height:300px; border:1px solid #CCC; overflow:hidden;
}
#map{
position:absolute;
}
.mark{
position:absolute; width:6px; height:6px; font-size:0px; background:#FF0000;
}
</style>
<script type="text/javascript">
var mark = [];

function setCookie(name,value)
{
var Days = 365;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;

}
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

function $(id){
return document.getElementById(id);
}
function point(x, y){
this.x = x;
this.y = y;
}
function getOffset(obj){
var x = 0, y = 0;
while(obj){
x += obj.offsetLeft;
y += obj.offsetTop;

obj = obj.offsetParent;
}
return {x : x, y : y };
}
function addMark(p, x, y, index){
var div = document.createElement("div");
div.id = "mark" + index;
div.className = "mark";
div.style.left = x + "px";
div.style.top = y + "px";
p.appendChild(div);
}
function bindEvent(){
$("map").ondblclick = function(oEvent){
oEvent = oEvent || event;
var container = $("container");
var offset = getOffset(container);
var x = oEvent.clientX - offset.x;
var y = oEvent.clientY - offset.y;
addMark(container, x, y, mark.length);
mark.push(x + "," + y);
saveMark();
};
}

function saveMark(){
setCookie("mark", mark.join("|"));
}
function loadMark(){
var cookie = getCookie("mark");
if(cookie){
mark = cookie.split("|");
var container = $("container");
for(var i=0; i<mark.length; i++){
addMark(container, mark[i].split(",")[0], mark[i].split(",")[1], i);
}
}
}
function clearMark(){
var container = $("container");
for(var i=0; i<mark.length; i++){
container.removeChild($("mark"+i));
}
mark.length = 0;
saveMark();
}
window.onload = function(){
bindEvent();
loadMark();
};
</script>
</head>

<body>
<div id="container">
<div id="map">
<img src="http://www.0755-0755.com/map/map/1.jpg" />
</div>
</div>
<br />
<input type="button" value="清除标记" onclick="clearMark()"/>
</body>
</html>
yami251139 2009-06-02
  • 打赏
  • 举报
回复
alert出来是有东西的。。。
yami251139 2009-06-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Free_Wind22 的回复:]
图片上放个层, 用来显示标记, 然后把坐标保存到数据库

刷新页面的时候, 在onload里把标记显示出来.
[/Quote]对地,我就是要这个效果!!!
不过。。。我写了的增加标记的js代码都没用。。。不知道咋回事?
var markid = 1;
function AddMark() {
var currentX = document.getElementById("ClientX").value;
var currentY = document.getElementById("ClientY").value;
var newMark = document.createElement("div");
newMark.innerHTML = "<div id='layer" + markid + "' style='visibility:visible;border:2px solid red;position: absolute;z-index:3;width:3px;height:3px;left:" + currentX + "px;top:" + currentY + "px;' ondblclick='javascript:alert(aa)'> </div>";

document.getElementById("flow").appendChild(newMark);
alert(newMark.innerHTML);
markid++;
}
点了以后不报错,不显示。。。
2009-06-01
  • 打赏
  • 举报
回复
图片上放个层, 用来显示标记, 然后把坐标保存到数据库

刷新页面的时候, 在onload里把标记显示出来.
yami251139 2009-06-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xiaojing7 的回复:]
首先你那个山水画应该设为背景图,然后你的标记(可以拖动的),2个不同的层
保存?
如果要记录坐标,我看你已经取出来位置了
保存加标记的图片到背景的图片 这个的话需要用服务器端语言来实现,例如.NET的GDI+来实现。
JS脚本不能操作

总体来说你要对一个原始的图片进行操作,那么用GDI+吧
[/Quote]
晕倒了。。。看来js不是万能的。。。我一直以为js是万能的呢。。。
哎~~~
gdi+。。。要搞会这个东西估计也不一天两天的事情。。。。哎
xiaojing7 2009-06-01
  • 打赏
  • 举报
回复
首先你那个山水画应该设为背景图,然后你的标记(可以拖动的),2个不同的层
保存?
如果要记录坐标,我看你已经取出来位置了
保存加标记的图片到背景的图片 这个的话需要用服务器端语言来实现,例如.NET的GDI+来实现。
JS脚本不能操作

总体来说你要对一个原始的图片进行操作,那么用GDI+吧
yami251139 2009-06-01
  • 打赏
  • 举报
回复
有某有人那。。。~~~
lihan6415151528 2009-06-01
  • 打赏
  • 举报
回复
哈哈 yami。。

额关注你这个了
标题人事档案管理系统设计与实现研究AI更换标题第1章引言介绍人事档案管理系统的研究背景、意义、国内外研究现状以及论文的方法和创新点。1.1研究背景与意义分析人事档案管理在企业中的重要性及系统开发的必要性。1.2国内外研究现状概述国内外人事档案管理系统的研究进展和现状。1.3研究方法及创新点阐述本文的研究方法和在系统设计上的创新点。第2章相关理论介绍人事档案管理系统设计的相关理论。2.1档案管理理论阐述档案分类、存储、检索等基本理论。2.2信息系统开发理论介绍信息系统开发的基本流程、方法和技术。2.3数据库管理理论讨论数据库设计、数据安全与备份等理论。第3章人事档案管理系统设计详细介绍人事档案管理系统的设计方案和实现过程。3.1系统需求分析分析系统的功能需求、性能需求和用户需求。3.2系统架构设计给出系统的整体架构、模块划分和交互流程。3.3数据库设计设计数据库结构,包括表结构、字段设置和关系模型。第4章系统实现与测试阐述人事档案管理系统的实现过程和测试方法。4.1系统开发环境与工具介绍系统开发所使用的环境和工具。4.2系统实现过程详细描述系统各个模块的实现过程和关键代码。4.3系统测试与优化对系统进行功能测试、性能测试和安全测试,并进行优化。第5章研究结果与分析呈现人事档案管理系统的实验分析结果。5.1系统功能实现情况介绍系统各项功能的实现情况和效果。5.2系统性能评估从响应时间、吞吐量等指标评估系统性能。5.3对比方法分析将本系统与其他类似系统进行对比分析,突出优势。第6章结论与展望总结本文的研究成果,并展望未来的研究方向。6.1研究结论概括本文的主要研究结论和系统实现效果。6.2展望指出系统存在的不足和未来改进的方向。
提供了关于时间序列分析与预测的宝贵资源,特别聚焦于**自回归积分滑动平均模型(ARIMA)**及其应用。对于那些希望深入理解并实践时间序列建模的学者、研究人员以及数据分析爱好者来说,这是一个不可或缺的学习材料。本资源不仅包括了详细的理论讲解,涵盖了时间序列分析的基础,如移动平均(MA)、自回归(AR)、指数平滑等关键概念,而且通过具体的ARIMA模型解析,搭配MATLAB编程实现实例,帮助用户从理论到实践全面掌握这一重要统计工具。 内容概览 理论讲解: 深入浅出地介绍了时间序列分析的基本原理,重点阐述ARIMA模型的构建步骤,包括如何识别模型的参数(p,d,q),以及其在处理非平稳数据中的作用。 MATLAB代码实现: 提供了多个ARIMA模型的MATLAB实现示例,这些代码覆盖了从数据准备、模型拟合、诊断检验到预测的全过程,是学习如何利用MATLAB进行时间序列分析的实用工具。 实例分析: 包括不同行业或领域的实际案例研究,展示如何应用ARIMA及其它时间序列方法解决真实世界的数据预测问题,增强理解和应用能力。 文件结构 时间序列模型ARIMA的讲解与matlab代码实现(含多个实例).rar: 主要资源压缩包,解压后包含文档和MATLAB代码文件夹。 文档: 提供了理论知识讲解。 MATLAB代码: 实现了文中讨论的各种模型,附带注释,便于理解与修改。 使用指南 下载资源: 点击下载“时间序列模型ARIMA的讲解与matlab代码实现(含多个实例).rar”文件。 解压文件: 解压缩至本地,确保你可以访问文档和代码。 环境准备: 确保你的电脑上已安装MATLAB,并熟悉基本操作。 学习流程: 首先阅读文档理解时间序列分析的理论基础,然后逐步跟随MATLAB代码示例进行实践。 实践应用: 尝试将所学应用到自己的数据集上,调整参数以优化模型性能。 注意事项 请根据M

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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