笑傲网-为创业者提供自媒体学习平台

您现在的位置是: 首页 > 教程资料 > SEO

SEO

js如何生成缩略图(js实现点击缩略图显示大图)

2022-09-02 09:24 SEO
js如何生成缩略图,js实现点击缩略图显示大图内容导航:jquery网页链接的缩略图怎么生成求实现自动生成图片缩略图的JS代码php上传多张图片,生成相应的缩略图,并把随机生成的图片名称保存到数据库

js如何生成缩略图,js实现点击缩略图显示大图

内容导航:

  • jquery 网页链接的缩略图怎么生成
  • 求实现自动生成图片缩略图的JS代码
  • php上传多张图片,生成相应的缩略图,并把随机生成的图片名称保存到数据库里面!
  • 缩略图是怎么生成的
  • 一、jquery 网页链接的缩略图怎么生成

    jqthumb是一款实用的响应式按比例生成图片缩略图的jQuery插件。jqthumb可以按照用户设定的比例、尺寸、位置等属性来生成新的缩略图,在老的浏览器中它还能够替代background-
    size属性。jqthumb兼容性超强,可以工作在所有现代浏览器甚至是IE6+上,jQuery
    1.3以上版本即可运行。它还可以在Zepto(通过zepto-data插件)v1.1.3+上运行。
    这个jquery插件可以帮助我们按比例生成图片缩略图。大家可能知道在处理缩略图的时候使用 background-size: cover;
    可以解决许多棘手问题。但是 background-size: cover; 在IE6、IE7和IE8下不能正常工作。而该插件正是弥补了这个缺陷。使用方法
    使用以下的简单html结构:

    KillKill All在页面中引入jQuery和文件:然后按下面方法调用插件:BOWERbower install jqthumb可用参数
    source:图片的URL属性。例如:的source是 src。$(‘img’).jqthumb({ source : ‘attr-src’ //
    DEFAULT:
    src});classname:生成的缩略图的class名称。当你想使用外部css来渲染缩略图时该参数十分有用。$(‘img’).jqthumb({
    width : 200, // DEFAULT: 100 height : ‘100%’ // DEFAULT: 100});position:通过 X 和
    Y作为关键参数来定义一个对象。y用于跳转缩略图上下位置,x用于跳转缩略图的左右位置。注意: position.x 和
    position.y必须在定义的width和height的范围里面。如果你用百分比来定义position.x 和
    position.y,请确保它们在0-100%之间。$(‘img’).jqthumb({ position: { x : 20, // DEFAULT:
    ‘50%’ y : ‘30%’ // DEFAULT: ‘50%’ }});show:是否在处理完成后显示缩略图:$(‘img’).jqthumb({
    show : false // DEFAULT: true});responsive:该参数只是在浏览器不支持 CSS3
    的时候才使用。为了在旧的浏览器上完成响应式效果,该插件在$(window).resize()事件被触发的时候会重新计算。设置为0则在旧的浏览器中不使用响应式效果。在现代浏览器中不支持禁用响应式特性,可以使用method
    :”native”来禁止它。/ responsive only works for native method / older browsers
    /$(‘img’).jqthumb({ responsive : 10 // DEFAULT: 20}); / to disable
    responsive feature in modern method / browsers, switch method to native
    /$(‘img’).jqthumb({ method : ‘native’, // DEFAULT: auto responsive : 0 //
    DEFAULT: 20});zoom:放大或缩小缩略图:$(‘img’).jqthumb({ zoom : 3 // DEFAULT:
    1});method:该按比例是否缩略图插件提供两种方法:一种使在浏览器支持 CSS3
    的时候使用,一种是浏览器不支持CSS3的时候使用。有时候你可能需要切换这两种方法来做些测试。默认情况下,该插件会自动检测浏览器是否支持CSS3然后调用相应的方法。$(‘img’).jqthumb({
    method : ‘native’ // Availability: “auto”, “modern”, “native”. DEFAULT:
    auto});before:这是在计算开始前的一个回调函数。该函数以参数的形式返回原始图片的source和对象。如果你在初始化的时候使用了多个对象class名称,那么这个函数会被调用两次。$(‘img’).jqthumb({
    before : function(originalImage){ (originalImage);
    }});after:这是在计算结束后的一个回调函数。该函数以参数的形式返回新生成的缩略图对象。如果你在初始化的时候使用了多个对象class名称,那么这个函数会被调用两次。$(‘img’).jqthumb({
    after : function(newThumb){ $(newThumb).fadeIn();
    }});done:这是在所有图片对象都被处理完毕后的一个回调函数。它返回所有缩略图的数组对象。$(‘img’).jqthumb({ done :
    function(thumbnails){ for(i in thumbnails) $(thumbnails[i]).fadeIn();
    }});可用命令$(‘img’).jqthumb(‘kill’); // destroy the plugin$.jqthumb(‘killall’);
    // destroy all generated thumbnails on the page更多的使用方法………

    ……

    …………………

    二、求实现自动生成图片缩略图的JS代码

    要求:不管原图大小多大,统一缩小成指定宽度,高度则按照宽度缩小的比例自适应…

    例如:原图分辨率是1000(weight) x 600(Height);假设固定宽度为200,高度自动缩小相同比例,最后缩略图尺寸为:200 x 120.

    先设置一段JS代码,如:

    function DrawImage(MyPic,W,H){ var flag=false; var image=new Image(); =; if(>0
    && >0){ flag=true; if(/>= W/H){ if(>W){ =W; =(W)/; } else{ =; =; } } else{
    if(>H){ =H; =(
    H)/; } else{ =; =; } } }}

    图片读取:

    三、php上传多张图片,生成相应的缩略图,并把随机生成的图片名称保存到数据库里面!

    这个我还真弄过,废话少说,直接上代码(看清望准了,我贴出三个文件,数据库连接你懂的,):

    :

    添加附件:限100kb,仅支持png,jpg

    (用于动态修改上传文件的数量)
    //添加其他附件
    $(‘#add_fujian’).click(function(){
    $(‘#fujian’).css({
    ‘height’:$(‘#fujian’)+20+’px’
    });
    $(‘#proof_enter’, ).css({
    ‘height’:$(‘#proof_enter’, )+20+’px’
    });
    $(this).after(‘删除’);
    $(‘.close_file’).click(function(){
    $(this).prev().remove();
    $(this).remove();
    });
    })

    $reurl = ”;
    foreach ($files[‘userfile’] as $key => $value) {
    $filename = $value[‘tmp_name’];
    $filetype = $value[‘tmp_type’];
    if(is_uploaded_file($filename) && ($value[‘size’]<)){

    }else{
    //如果上传失败
    $value [‘error’] = 6;
    }
    if ($value [‘error’] > 0) {
    echo ‘Problem: ‘;
    switch ($value [‘error’]) {
    case 1 :
    echo ‘上传文件过大:请重试‘;
    break;
    case 2 :
    echo ‘上传文件过大:请重试‘;
    break;
    case 3 :
    echo ‘文件上传丢失:请重试‘;
    break;
    case 4 :
    echo ‘无文件被上传:请重试‘;
    break;
    case 6 :
    echo ‘仅支持文件大小小于20kb:请重试‘;
    break;
    case 7 :
    echo ‘上传文件存储失败:请重试‘;
    break;
    }
    exit ();
    }
    $value [‘name’] = time (). $filetype;
    $upfile = ‘uploads/’ . $value [‘name’];
    if ( !move_uploaded_file ( $value [‘tmp_name’], $upfile )) {
    echo ‘文件移动失败请重试‘;
    exit ();
    }else{
    //将$value[‘name’]插入数据库
    }
    }

    精髓我都写出来了,数据库操作你靠自己吧,有不明白的再沟通 ,啊,忘了生成缩略图。你先实现多文件上传吧,缩略图有时间我再补充。祝你成功,

    四、缩略图是怎么生成的

    答:这是网站中的网页设计内容。网页设计的基本文法叫做HTML语言,对它又有DHTML;JAVASCRIPT;Activex;以及网站架构文法JSP,ASP;……甚至JAVA;C系列编程语言等作为丰富及补充。你对HTML文法若有些了解,就可以知道你的问题答案了。比如,通过解析,你提及的教材网站上的许多图片,都是通过HTML调用图片的文法,从网站图库中调出的图,由排版格式语言组成。见附图(这里只截取了一小段文法):其中画红线的就是调用了一张图片(北京版数学五年级下册《最小公倍数》PPT课件之一…)的文法。现在流行的网页设计软件是DreamWeaver。你若感兴趣,可以学学,当然更应该学会HTML相关语言文法。