【发布时间】:2016-09-16 10:20:14
【问题描述】:
是否可以在另一个维度上生成一张照片而不是其他缩略图? 例如:第一张照片应该有 200px 宽和 400px 高,而下一张照片应该只有 100px 宽和 200px 高。
我只搜索了所有图片的这些选项:
thumbnailWidth: 100,
thumbnailHeight: 100,
【问题讨论】:
标签: javascript html css dropzone.js dimension
是否可以在另一个维度上生成一张照片而不是其他缩略图? 例如:第一张照片应该有 200px 宽和 400px 高,而下一张照片应该只有 100px 宽和 200px 高。
我只搜索了所有图片的这些选项:
thumbnailWidth: 100,
thumbnailHeight: 100,
【问题讨论】:
标签: javascript html css dropzone.js dimension
您可以用自己的逻辑覆盖resize function,并为您的第一张图片应用不同的大小
var dropzoneSettings = {
resize: function(file) {
var info, srcRatio, trgRatio;
info = {
srcX: 0,
srcY: 0,
srcWidth: file.width,
srcHeight: file.height
};
srcRatio = file.width / file.height;
info.optWidth = this.options.thumbnailWidth;
info.optHeight = this.options.thumbnailHeight;
if ((info.optWidth == null) && (info.optHeight == null)) {
info.optWidth = info.srcWidth;
info.optHeight = info.srcHeight;
} else if (info.optWidth == null) {
info.optWidth = srcRatio * info.optHeight;
} else if (info.optHeight == null) {
info.optHeight = (1 / srcRatio) * info.optWidth;
}
trgRatio = info.optWidth / info.optHeight;
if (file.height < info.optHeight || file.width < info.optWidth) {
info.trgHeight = info.srcHeight;
info.trgWidth = info.srcWidth;
} else {
if (srcRatio > trgRatio) {
info.srcHeight = file.height;
info.srcWidth = info.srcHeight * trgRatio;
} else {
info.srcWidth = file.width;
info.srcHeight = info.srcWidth / trgRatio;
}
}
info.srcX = (file.width - info.srcWidth) / 2;
info.srcY = (file.height - info.srcHeight) / 2;
return info;
}
}
$("#my-dropzone").dropzone(dropzoneSettings);
【讨论】: