/**
* 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 = "";
疑问:
怎么能把读入内存时出现的问题的解决方法放到函数里啊?
分享到:
相关推荐
本篇将详细讲解一个C#编写的ASP.NET通用缩略图生成函数,该函数支持多种生成方式,并且具有图片裁减功能。 首先,我们来看一下这个函数的定义: ```csharp public static void MakeThumbnail(string ...
总的来说,这个项目展示了如何利用jQuery实现一个类似于微博的图片预览系统,包括点击缩略图显示大图、图片旋转和查看原图等功能,这些都是现代网页应用中提高用户体验的关键元素。开发者可以通过学习和实践这样的...
从给定的文件信息来看,我们正在探讨一个与C#编程语言相关的代码片段,该片段主要涉及处理图像,特别是将大型图像转换为高清晰度的缩略图。这个过程在Web开发中尤其常见,因为有效地管理和展示不同尺寸的图片对于...
4. **生成缩略图**:`generateThumbnail()`方法可能会被用来创建视频的预览图像,通常是一个小尺寸的图片。这个方法可能允许设置缩略图的数量、间隔时间以及输出尺寸。 使用这个类的示例可能如下: ```php $ffmpeg...
6. **缩略图导航**:创建一个包含所有缩略图的容器,每个缩略图对应主展示区的一张图片。当主图片切换时,对应的缩略图可以添加选中样式,以便用户了解当前显示的是哪一张图片。 7. **CSS样式**:为了让幻灯片看...
【标题】中的“带左右按钮和缩略图的焦点图代码”指的是一个JavaScript特效实现,它主要用于网页设计中展示图片轮播或焦点图的效果。这种特效通常会在一组图片中选择一张作为焦点,用户可以通过点击左右按钮或者查看...
在本压缩包“PHP实例开发源码—图片预览上传并成生成缩略图组件 php版.zip”中,包含了一个基于PHP实现的图片预览、上传及生成缩略图的功能组件。这个组件对于Web开发中的图像处理部分尤其有用,能够帮助开发者在...
文件名"132692278475693772"看起来可能是类库的一个实例文件或者是使用该类生成的一个示例缩略图。解压并查看这个文件,可以帮助我们更好地理解类库的用法和效果。 总的来说,这个"基于PHP的Thumb自动图片缩略图类...
首先,我们来看`smallImg.aspx`,这是一个ASP.NET的网页文件,它可能是用于展示或处理缩略图的前端页面。在ASP.NET中,`.aspx`文件通常包含HTML标记和服务器端代码,用于构建动态网页。 接着是`smallImg.aspx.cs`,...
"jQuery缩略图广告效果"是一个常见的应用场景,它利用jQuery的灵活性和强大的DOM操作能力,来实现一种吸引用户的广告展示方式。这种效果通常包括滑动、淡入淡出、点击切换等动态展示,使得广告内容更加生动且易于...
【jQuery带缩略图的宽屏焦点图】是一种常见的网页设计元素,用于展示一组相关图片,通常以轮播或滑动的方式呈现,并配以缩略图导航,为用户提供直观的交互体验。在这个压缩包文件中,包含了一个使用jQuery库实现的...
现在,我们来看看两种使用Imagick生成PDF缩略图的方法。 **方法一:** 在方法一中,我们创建了一个名为`pdf2png`的函数,它接受三个参数:PDF文件路径、保存图片的路径和要导出的页面(默认为第一页)。首先,检查...
从给定文件的内容来看,本文主要介绍如何根据不同的图片数量,采取不同的布局方式,来生成一张包含多张图片缩略图的组合图。 首先,实现这一功能需要安装Imagick扩展。安装过程非常简便,通过pecl工具安装,只需要...
当用户点击一个缩略图,对应的全尺寸图片会被加载到指定的元素(例如一个`<img>`标签)中,从而实现预览效果。 3. **详细信息展示**:当用户点击缩略图时,不仅图片会变化,相关的文字详细信息也应当随之更新。这...
从给定的文件信息来看,我们正在探讨一个ASP(Active Server Pages)脚本,用于远程提取图片,并在本地保存这些图片以及生成它们的缩略图。这个过程涉及到多个步骤,包括检查目录是否存在、创建新目录、确定图片URL...
现在,让我们看第一个函数`getResizedDimensions($widthOriginal, $heightOriginal, $widthTarget)`,这个函数将接收原始图片的宽度和高度,以及目标缩放后的宽度,然后返回新的高度。代码可能如下: ```php ...
本教程的主题是“全自己动手写html+php图片批量上传”,这是一个针对初学者的实践项目,旨在帮助他们理解如何利用这两种语言实现图片的批量上传功能。这个教程的压缩包包含三个文件:`upload`(可能是一个目录)、`...
在PHP中生成缩略图是一项常见的任务,尤其在网站开发中,用于展示图像预览或节省服务器带宽。本文将详细介绍一个支持PNG透明图片的PHP生成缩略图类,该类基于GD2图形库,能够处理PNG透明效果,避免背景填充问题。 ...
从提供的文件内容来看,这是一篇关于PHP图片上传以及生成缩略图的教程文章。以下是从标题、描述和部分内容中提炼出的知识点: 1. PHP图片上传功能: - PHP允许用户通过表单上传文件,包括图片。 - 使用`$_FILES`...
在FCKeditor中,图片上传通常通过一个后端服务器脚本来处理。在这个案例中,使用的是PHP语言。PHP是一种广泛用于Web开发的服务器端脚本语言,它可以处理HTTP请求,如文件上传。当用户在FCKeditor中选择“插入图片”...