zoukankan      html  css  js  c++  java
  • jquery.fileupload-image-editor.js 中actions.resizeImage

    https://github.com/ChuckForkJS/jQuery-File-Upload/blob/master/js/jquery.fileupload-image-editor.js

    actions.resizeImage(data, resizeOptions).then(function () {
                            var imageOptions = { imagePreviewName: options.imagePreviewName };
                            actions.setImage(data, imageOptions);
                            actions.deleteImageReferences(data, {});
    
                            // Replace preview image
                            data.context.find('.preview').each(function (index, elm) {
                                $(elm).empty();
                                $(elm).append(data.files[index].preview);
                            });
                            data.context.find('.size').text(
                                thiz._formatFileSize(data.files[0].size)
                            );
                            data.context.find('.name').text(
                                data.files[0].name
                            );
    
                            $editor.modal('hide');
                        });

    先触发了jquery.fileupload-image.js中的resizeImage方法

    // Resizes the image given as data.canvas or data.img
                // and updates data.canvas or data.img with the resized image.
                // Also stores the resized image as preview property.
                // Accepts the options maxWidth, maxHeight, minWidth,
                // minHeight, canvas and crop:
                resizeImage: function (data, options) {
                    if (options.disabled || !(data.canvas || data.img)) {
                        return data;
                    }
                    options = $.extend({canvas: true}, options);
                    var that = this,
                        dfd = $.Deferred(),
                        img = (options.canvas && data.canvas) || data.img,
                        resolve = function (newImg) {
                            if (newImg && (newImg.width !== img.width ||
                                    newImg.height !== img.height ||
                                    options.forceResize)) {
                                data[newImg.getContext ? 'canvas' : 'img'] = newImg;
                            }
                            data.preview = newImg;
                            dfd.resolveWith(that, [data]);
                        },
                        thumbnail;
                    if (data.exif) {
                        if (options.orientation === true) {
                            options.orientation = data.exif.get('Orientation');
                        }
                        if (options.thumbnail) {
                            thumbnail = data.exif.get('Thumbnail');
                            if (thumbnail) {
                                loadImage(thumbnail, resolve, options);
                                return dfd.promise();
                            }
                        }
                        // Prevent orienting the same image twice:
                        if (data.orientation) {
                            delete options.orientation;
                        } else {
                            data.orientation = options.orientation;
                        }
                    }
                    if (img) {
                        resolve(loadImage.scale(img, options));
                        return dfd.promise();
                    }
                    return data;
                },
  • 相关阅读:
    集合
    字典
    Visual Studio 2017 发布
    表现设身处地的方法:杜彬(Ben Duffy)方法
    Can RemObjects SDK parameters be passed via the URI?
    转:RemObjects SDK 简介
    转:RemObject 服务器端自调用的方法
    转: Delphi多层开发方案比较
    Embed
    log4d 的使用(转)
  • 原文地址:https://www.cnblogs.com/chucklu/p/11120381.html
Copyright © 2011-2022 走看看