我已经实现了一个Dropzone页面使用http://www.dropzonejs.com/
我在调整大小功能上遇到了麻烦。如果我的图像宽高比错误,它们会不断被裁剪。
我想知道两件事:
我已经通过调整css实现了2,但我想知道是否有更好的方法使用dropzone代码。
如果有人有一个1的例子,那么它将非常有用。谢谢,马特。
不幸的是,没有办法在配置中指定一个无裁剪选项,但我通过修改dropzone成功地实现了这一点。js在下面的方式,我希望它有帮助。
这种修改将保留固定高度的纵横比(您可以将其更改为固定宽度)。
第1173行更换:
resizeInfo.trgWidth = _this.options.thumbnailWidth;
有了这个:
resizeInfo.trgWidth = img.width * (_this.options.thumbnailHeight / img.height);
并在第1182行中替换:
ctx.drawImage(img, (_ref = resizeInfo.srcX) != null ? _ref : 0, (_ref1 = resizeInfo.srcY) != null ? _ref1 : 0, resizeInfo.srcWidth, resizeInfo.srcHeight, (_ref2 = resizeInfo.trgX) != null ? _ref2 : 0, (_ref3 = resizeInfo.trgY) != null ? _ref3 : 0, resizeInfo.trgWidth, resizeInfo.trgHeight);
有了这个:
ctx.drawImage(img, (_ref = resizeInfo.srcX) != null ? _ref : 0, (_ref1 = resizeInfo.srcY) != null ? _ref1 : 0, img.width, img.height, (_ref2 = resizeInfo.trgX) != null ? _ref2 : 0, (_ref3 = resizeInfo.trgY) != null ? _ref3 : 0, resizeInfo.trgWidth, resizeInfo.trgHeight);
是的,你可以。要获得未修剪的缩略图,您需要做两件事:
>
如下所示覆盖dropzone css:
. dropzone. dz-预览. dz-图像{宽度:自动!重要;高度:自动!重要;}
实际上,只有在明确指定了thumbnailWidth
和thumbnailHeight
这两个选项的情况下,预览才会出现交叉。否则,如果用户只指定一个或不指定缩略图尺寸,则整个图像将根据指定的选项thumbnailWidth
或thumbnailHeight
按比例调整大小。
例如,使用1200x800图像源:
// Resized preview (400x267)
var dp = new Dropzone(document.getElementById('dp'), {
thumbnailWidth: 400,
thumbnailHeight: null
}
// Resized preview (600x400)
var dp = new Dropzone(document.getElementById('dp'), {
thumbnailWidth: null,
thumbnailHeight: 400,
}
// Croped preview (400x400)
var dp = new Dropzone(document.getElementById('dp'), {
thumbnailWidth: 400,
thumbnailHeight: 400,
}
但是,如果您不知道源图像的比例,需要使预览适合大小的div,则使用dropzone的resize
功能。js。它必须返回具有多个属性的对象,如文档中所述。以下是根据缩略图尺寸调整预览大小的示例:
var dp = new Dropzone(document.getElementById('myDropzone'), {
// Your dropzone options here...
thumbnailWidth: 400,
thumbnailHeight: 400,
resize: function(file) {
var resizeInfo = {
srcX: 0,
srcY: 0,
trgX: 0,
trgY: 0,
srcWidth: file.width,
srcHeight: file.height,
trgWidth: this.options.thumbnailWidth,
trgHeight: this.options.thumbnailHeight
};
return resizeInfo;
}
});
当然,您可以根据您的源图像尺寸、您的div尺寸或任何您想要的尺寸来计算trgWidth
和trgHeight
,以使预览看起来像您想要的。
有dropzone的调整大小功能的例子吗。js?我真的不明白它是如何工作的,它说:“Resize是被调用来创建调整大小信息的函数。它将文件作为第一个参数,并且必须返回一个包含srcX、srcY、srcWidth和srcHeight的对象,对于trg*。这些值将被ctx.drawImage()使用。” 但是我真的不知道如何使用它。到目前为止,我正在服务器端调整图像的大小,但是我想在客户端这样做,我认
我想集成Dropzone。js具有客户端图像大小调整功能。我知道有一个函数可以调整缩略图的大小,但我想在上传之前创建一个函数来调整主图像的大小。有人能帮我吗?
我正在尝试调整缩略图中的图像大小,以固定框的大小。我试过这个: 这是原始图像的外观:http://files.parsetfss.com/12917a88-ac80-4e5e-a009-fc634161b79c/tfss-6c59b59f-8f57-4610-966e-31bbc203707b-samsung-galaxy-note-4-7290-002.jpg 我也试过: 但是没有任何变化,没有
我正在尝试构建一个包含6个窗格(作为父级添加到GridPane布局中)的简单Java项目。我必须在开始时设置窗口大小,并通过参考根布局的宽度和高度,设法将它们均匀地拆分。 但我想要他们调整大小,因为我改变了窗口的大小(使用鼠标,现在他们得到固定的大小)。 下面是我的代码:
问题内容: 我一直试图(徒劳地)建立一个页面,当我更改窗口大小时,其元素将重新调整大小。我可以在CSS中使用它来处理图像,但是没有问题,但是我似乎无法在文本上完成相同的操作,而且我不确定在CSS中是否有可能。而且我似乎找不到能完成此任务的jQuery脚本。 当用户调整窗口大小时,我实质上希望页面能够动态流畅地缩放,而无需用户调用页面缩放。通过css在我的img div上这可以正常工作,但对于文本则
问题内容: 下面的代码调整位图的大小并保持宽高比。我想知道是否有一种更有效的大小调整方法,因为我想到了我正在编写android API中已经可用的代码。 问题答案: 使用方法:)