js一个典型的对象写法,推荐使用这种格式,用于处理图像的基本方法、
2013-05-20 14:13
846 查看
/* 常用对象 */ //构造函数 var ImageHelper = function() {} ImageHelper.prototype = { //根据让IE6的png图片背景变成透明(注意引用后可能会使图片布局改变) fixPNG: function(imgObj) { //<span style="display:inline-block; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='PNG图片的URL',sizingMethod='scale');width:span的宽即图片宽;height:span的高即图片高;"></span> var arVersion = navigator.appVersion.split("MSIE"); var version = parseFloat(arVersion[1]); if ((version >= 5.5) && (version < 7) && (document.body.filters)) { var imgID = (imgObj.id) ? "id='" + imgObj.id + "' " : ""; var imgClass = (imgObj.className) ? "class='" + imgObj.className + "' " : ""; var imgTitle = (imgObj.title) ? "title='" + imgObj.title + "' " : "title='" + imgObj.alt + "' "; var imgStyle = "display:inline-block;" + imgObj.style.cssText; var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + imgObj.width + "px; height:" + imgObj.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + imgObj.src + "\', sizingMethod='scale');\"></span>"; imgObj.outerHTML = strNewHTML; } }, //让所有IE6下的所有PNG图片背景透明(注意引用后可能会使图片布局改变) correctPNG: function() { var arVersion = navigator.appVersion.split("MSIE"); var version = parseFloat(arVersion[1]); if ((version >= 5.5) && (version < 7) && (document.body.filters)) { for (var j = 0; j < document.images.length; j++) { var img = document.images[j]; var imgName = img.src.toUpperCase(); if (imgName.substring(imgName.length - 3, imgName.length) == "PNG") { var imgID = (img.id) ? "id='" + img.id + "' " : ""; var imgClass = (img.className) ? "class='" + img.className + "' " : ""; var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "; var imgStyle = "display:inline-block;" + img.style.cssText; var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" img.outerHTML = strNewHTML j = j - 1; } } } }, /** * 自动缩放图片尺寸 * ImgSource图片源(如URL) * ImgWidth要缩放的宽 * ImgHeight要缩放的高 * ImgToFit当图长宽都小于显示值时是否拉伸(true拉伸或false不拉伸) * 使用方法:原图的宽高最好也要写成缩放的大小<img src="***.jpg" width="180" height="110" onload="javascript:__Image__.drawImage(this,180,110,true);"> */ drawImage: function(ImgSource, ImgWidth, ImgHeight, ImgToFit) { var image = new Image(); image.src = ImgSource.src; if (image.width > 0 && image.height > 0) { if ((image.width / image.height) >= (ImgWidth / ImgHeight)) { if ((image.width > ImgWidth) || (image.width < ImgWidth && ImgToFit)) { ImgSource.width = ImgWidth; ImgSource.height = (image.height * ImgWidth) / image.width; } } else { if ((image.height > ImgHeight) || ((image.height < ImgHeight) && ImgToFit)) { ImgSource.height = ImgHeight; ImgSource.width = parseInt((image.width * ImgHeight) / image.height); } } } } } var __Image__ = new ImageHelper(); //默认生成一个对象
有种高手写的感觉、
相关文章推荐
- js获取src请求 得到一个参数和多个参数写法(这是集中网上的多个方法,自己cv过去就可以使用)
- three.js自学之旅(5)—— 辅助对象的使用、扩展一个新的基础方法调整对象参数
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- 用一个实例学习VBS中使用fso对象的基本方法
- 使用python进行图像处理的基本方法
- C++中提供了多种基本的数据类型。实际上,这些远不能满足我们的需求,如复数(第10章的例子大多是处理虚数的),再如分数。本任务将设计一个简单的分数类,完成对分数的几个运算。一则巩固基于对象编程的方法,
- 关于在用异步消息处理机制使用Message.Obtain()方法(而非New Message)获得一个Message对象的好处
- JS 使用List<Object> 对象中的Object对象的某个属性的临时处理方法
- js使用原型实现继承与new一个新对象的方法
- 使用MVC中的HtmlHelper对象的ActionLink方法,实现一个Javascript:void(0)效果,去调用一个JS方法
- 使用反射建立一个用于生产短信对象的工厂方法
- 使用反射建立一个用于生产短信对象的工厂方法
- 注册并发布一个xmlrpc远程对象(函数、类对象、客户端使用调用(对象.方法)格式)
- 【js与jquery】jquery的一个通用的专门用于遍历的全局方法$.each()的使用
- JS数组一个优化小技巧和对象方法的使用
- JS创建对象最常用的方法就是使用JSON格式的语法
- 发现一个比较全的处理date格式js类库
- 优化的对比度增强算法用于有雾图像的清晰化处理(算法效果是我目前看到最为稳定的,且对天空具有天然的免疫力,极力推荐有需要的朋友研究)。
- Labview图像处理-1基本图像格式
- editor.js 缺少对象的解决方法(ewebeditor 使用)