浏览 3924 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-16
/** * Created by IntelliJ IDEA. * author: dean * Date: 2006-8-14 * Time: 10:45:39 * description: 支持比例缩放,限制比例。 * 主要目的为在上传图片到服务器端之前进行预览。 * 当然更可用在HTTP形式路径的图片上。 * location: mapbar.com */ function ThumbnailTool() { this.width = 0; this.height = 0; this.maxPixel = 50; this.boolean = false; this.src = ""; this.setMaxPixel = function (maxPixel) { this.maxPixel = maxPixel; } this.isAutoMaxSize = function (bToMaxSize) { this.bToMaxSize = bToMaxSize; } this.getWidth = function () { return this.width; } this.getHeight = function () { return this.height; } this.getSrc = function () { return this.src; } this.toThumbnail = function (imgSrc) { var img = new Image(); img.src = imgSrc; var imgWidht = img.width; var imgHeight = img.height; this.src = img.src; if (!(this.width > 0 && this.height > 0)) { if (imgWidht >= imgHeight) { if (imgWidht > this.maxPixel || this.bToMaxSize) { this.height = parseInt(parseFloat(imgHeight) / parseFloat(imgWidht) * this.maxPixel + 0.5); this.width = this.maxPixel; } else { this.width = imgWidht; this.height = imgHeight; } } else { if (imgHeight > this.maxPixel || this.bToMaxSize) { this.width = parseInt(parseFloat(imgWidht) / parseFloat(imgHeight) * this.maxPixel + 0.5); this.height = this.maxPixel; } else { this.width = imgWidht; this.height = imgHeight; } } } } } 调用方法: var tbImg = new ThumbnailTool(); //解决有时候尺寸太大的图片没有读入内存时出现的问题imgSrc 可以是本地路径也可以是http方式的路径 while(tbImg.getWidth()<2 || tbImg.getHeight()<2 ){ tbImg.setMaxPixel(50); tbImg.toThumbnail(imgSrc); // tbImg.isAutoMaxSize (true); } document.getElementById("d9").width = tbImg.getWidth(); document.getElementById("d9").height = tbImg.getHeight(); document.getElementById("d9").src = tbImg.getSrc(); document.getElementById("d9").alt = ""; 疑问: 怎么能把读入内存时出现的问题的解决方法放到函数里啊? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-10-16
http://ajax.org/comments/start/2006-09-14/1
请去掉 copyright: http://www.mapbar.com 版权所有 什么意思。 |
|
返回顶楼 | |
发表时间:2006-10-17
噢,那是因为在用IntelliJ IDEA开发的时候模版定义的,已经去掉了
|
|
返回顶楼 | |
发表时间:2006-10-17
zkj_beyond 你也是做GIS的吧。我们也可以讨论AJAX在GIS上的应用啊,但我不知道到哪个版块发贴子
|
|
返回顶楼 | |