2

有没有人有一些好的代码来使用javascript放大图像?

我知道我可以调整它的大小等等,但是我很懒,正在寻找一些聪明的东西来缩放到不同的水平,缩放时四处移动等

4

3 回答 3

3

检查这个:

于 2008-10-11T22:59:26.903 回答
3

图片有多大?如果它们是巨大的图像,你可以使用这个http://www.casa.ucl.ac.uk/software/googlemapimagecutter.asp像谷歌地图样式那样做

于 2008-10-11T23:01:01.673 回答
2

这真的取决于你所追求的质量。如果您需要具有详细缩放级别和适当插值的高质量图像,您将需要编写后端服务来提供图像的缩放部分。如果您不关心质量或速度,您可以下载整个图像并使其适合显示在绝对定位的 div 内,偏移您要查看的区域,并根据缩放级别确定大小。

我会说你可能在第一个选择之后。已经为此制作一些工具,我个人没有使用任何工具;我相信其他人会发布您可以尝试的其他人的链接;我已经编写了自己的服务和客户端。我不能详细介绍它的专有信息,但我可以概述一下我的工作。

我有一个 asp.net 通用处理程序,它接受一个查询字符串,表示哪个图像(通过一个 id)和要放大的坐标和目标图像大小。我让服务加载图像并裁剪并调整大小(它比这更复杂,因为我在最初上传文件时进行了许多优化和准备,例如文件的多个横截面以便在缩放时更快地提供服务,但我描述的是这是基础知识)。

该服务仅返回类型 image/jpeg 并发送图像。

在客户端,我编写了一个选取框控件,允许用户在他们想要放大的图像上选取一个区域。他们选中该区域并单击缩放。然后,这会根据原始图像大小和可视图像大小计算所选坐标的图像偏移量。我将这些坐标发送到前面提到的处理程序。我将带有服务查询字符串的 url 加载到 Image 对象中,并处理 onload。如果一切顺利,我将其交换到查看的图像并更新我的所有客户端变量,以确定我放大图像的位置,然后可以再次放大或缩小或从那里进一步平移。

现在我了解您的懒惰要求,但我需要说的是,写这篇文章实际上很容易让基础知识得以实现。你会发现最难的部分是做一个选择框。但即使这样也可以像跟踪两次点击一样简单。缩放选择标记的左上角和右下角。或者根本没有选择框,并且仅以预定间隔进行放大和缩小。我在我的项目中需要一个缩放框,因为它是一个相当复杂的图像分析解决方案。

我希望这至少会有所帮助并引导您找到有用的东西。

于 2008-10-11T22:59:21.693 回答