`
dean
  • 浏览: 2614 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

我写了一个上传服务器前制作缩略图的函数,请大家看看

阅读更多
/**
 * 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 = "";


疑问:
    怎么能把读入内存时出现的问题的解决方法放到函数里啊?
分享到:
评论
3 楼 dean 2006-10-17  
zkj_beyond 你也是做GIS的吧。我们也可以讨论AJAX在GIS上的应用啊,但我不知道到哪个版块发贴子
2 楼 dean 2006-10-17  
噢,那是因为在用IntelliJ IDEA开发的时候模版定义的,已经去掉了
1 楼 zkj_beyond 2006-10-16  
http://ajax.org/comments/start/2006-09-14/1

请去掉
copyright: http://www.mapbar.com 版权所有

什么意思。

相关推荐

    asp.net生成缩略图通用函数(支持多种生成方式)_支持图片裁减

    本篇将详细讲解一个C#编写的ASP.NET通用缩略图生成函数,该函数支持多种生成方式,并且具有图片裁减功能。 首先,我们来看一下这个函数的定义: ```csharp public static void MakeThumbnail(string ...

    仿微博点击缩略图预览大图效果支持图片旋转

    总的来说,这个项目展示了如何利用jQuery实现一个类似于微博的图片预览系统,包括点击缩略图显示大图、图片旋转和查看原图等功能,这些都是现代网页应用中提高用户体验的关键元素。开发者可以通过学习和实践这样的...

    大图转高清晰缩略图~好用

    从给定的文件信息来看,我们正在探讨一个与C#编程语言相关的代码片段,该片段主要涉及处理图像,特别是将大型图像转换为高清晰度的缩略图。这个过程在Web开发中尤其常见,因为有效地管理和展示不同尺寸的图片对于...

    php 使用ffmpeg 视频转换,截图,生成缩略图

    4. **生成缩略图**:`generateThumbnail()`方法可能会被用来创建视频的预览图像,通常是一个小尺寸的图片。这个方法可能允许设置缩略图的数量、间隔时间以及输出尺寸。 使用这个类的示例可能如下: ```php $ffmpeg...

    jquery左右按钮控制带缩略图片幻灯片切换

    6. **缩略图导航**:创建一个包含所有缩略图的容器,每个缩略图对应主展示区的一张图片。当主图片切换时,对应的缩略图可以添加选中样式,以便用户了解当前显示的是哪一张图片。 7. **CSS样式**:为了让幻灯片看...

    带左右按钮和缩略图的焦点图代码.rar

    【标题】中的“带左右按钮和缩略图的焦点图代码”指的是一个JavaScript特效实现,它主要用于网页设计中展示图片轮播或焦点图的效果。这种特效通常会在一组图片中选择一张作为焦点,用户可以通过点击左右按钮或者查看...

    PHP实例开发源码—图片预览上传并成生成缩略图组件 php版.zip

    在本压缩包“PHP实例开发源码—图片预览上传并成生成缩略图组件 php版.zip”中,包含了一个基于PHP实现的图片预览、上传及生成缩略图的功能组件。这个组件对于Web开发中的图像处理部分尤其有用,能够帮助开发者在...

    基于PHP的Thumb自动图片缩略图类.zip

    文件名"132692278475693772"看起来可能是类库的一个实例文件或者是使用该类生成的一个示例缩略图。解压并查看这个文件,可以帮助我们更好地理解类库的用法和效果。 总的来说,这个"基于PHP的Thumb自动图片缩略图类...

    ASP.Net常用功能整理--生成图片的缩略图

    首先,我们来看`smallImg.aspx`,这是一个ASP.NET的网页文件,它可能是用于展示或处理缩略图的前端页面。在ASP.NET中,`.aspx`文件通常包含HTML标记和服务器端代码,用于构建动态网页。 接着是`smallImg.aspx.cs`,...

    jQuery缩略图广告效果

    "jQuery缩略图广告效果"是一个常见的应用场景,它利用jQuery的灵活性和强大的DOM操作能力,来实现一种吸引用户的广告展示方式。这种效果通常包括滑动、淡入淡出、点击切换等动态展示,使得广告内容更加生动且易于...

    jQuery带缩略图的宽屏焦点图.zip

    【jQuery带缩略图的宽屏焦点图】是一种常见的网页设计元素,用于展示一组相关图片,通常以轮播或滑动的方式呈现,并配以缩略图导航,为用户提供直观的交互体验。在这个压缩包文件中,包含了一个使用jQuery库实现的...

    PHP使用imagick读取PDF生成png缩略图的两种方法.pdf

    现在,我们来看看两种使用Imagick生成PDF缩略图的方法。 **方法一:** 在方法一中,我们创建了一个名为`pdf2png`的函数,它接受三个参数:PDF文件路径、保存图片的路径和要导出的页面(默认为第一页)。首先,检查...

    PHP利用imagick生成组合缩略图

    从给定文件的内容来看,本文主要介绍如何根据不同的图片数量,采取不同的布局方式,来生成一张包含多张图片缩略图的组合图。 首先,实现这一功能需要安装Imagick扩展。安装过程非常简便,通过pecl工具安装,只需要...

    jQuery实现无刷新分页列表点击缩略图展示详细信息相册源码

    当用户点击一个缩略图,对应的全尺寸图片会被加载到指定的元素(例如一个`&lt;img&gt;`标签)中,从而实现预览效果。 3. **详细信息展示**:当用户点击缩略图时,不仅图片会变化,相关的文字详细信息也应当随之更新。这...

    远程提取图片并生成缩缩略图

    从给定的文件信息来看,我们正在探讨一个ASP(Active Server Pages)脚本,用于远程提取图片,并在本地保存这些图片以及生成它们的缩略图。这个过程涉及到多个步骤,包括检查目录是否存在、创建新目录、确定图片URL...

    PHP等比例缩放图片计算以及上传函数

    现在,让我们看第一个函数`getResizedDimensions($widthOriginal, $heightOriginal, $widthTarget)`,这个函数将接收原始图片的宽度和高度,以及目标缩放后的宽度,然后返回新的高度。代码可能如下: ```php ...

    全自己动手写html+php图片批量上传-史上最简单图片批量上传.rar

    本教程的主题是“全自己动手写html+php图片批量上传”,这是一个针对初学者的实践项目,旨在帮助他们理解如何利用这两种语言实现图片的批量上传功能。这个教程的压缩包包含三个文件:`upload`(可能是一个目录)、`...

    支持png透明图片的php生成缩略图类分享

    在PHP中生成缩略图是一项常见的任务,尤其在网站开发中,用于展示图像预览或节省服务器带宽。本文将详细介绍一个支持PNG透明图片的PHP生成缩略图类,该类基于GD2图形库,能够处理PNG透明效果,避免背景填充问题。 ...

    PHP之图片上传类实例代码(加了缩略图)

    从提供的文件内容来看,这是一篇关于PHP图片上传以及生成缩略图的教程文章。以下是从标题、描述和部分内容中提炼出的知识点: 1. PHP图片上传功能: - PHP允许用户通过表单上传文件,包括图片。 - 使用`$_FILES`...

    带图片上传功能的fckeditor.rar

    在FCKeditor中,图片上传通常通过一个后端服务器脚本来处理。在这个案例中,使用的是PHP语言。PHP是一种广泛用于Web开发的服务器端脚本语言,它可以处理HTTP请求,如文件上传。当用户在FCKeditor中选择“插入图片”...

Global site tag (gtag.js) - Google Analytics