png - 是否可以使用 FabricJS 设置 PNG 物理像素尺寸?
解决方案
fabricJS 不支持输出 DPI 值,但幸运的是我写了一个小库,可以让你做到这一点!
它适用于 blob 和 dataurl: https ://www.npmjs.com/package/changedpi
我知道这似乎是纯粹的广告,但我认为这段代码会做到这一点,它就是这样做的,它适用于 PNG 和 JPEG。
// create the dataUrl at standard 72dpi
var dataUrl = canvas.toDataURL('image/jpeg', 0.92);
var daurl150dpi = changeDpiDataUrl(dataUrl, 150);
或者
// create the blob at standard 72dpi
canvas.toBlob(function(blob) {
changeDpiBlob(blob, 300).then(function(blob){
// use your changed blob
})
},'image/jpeg', 0.92);
它在这里使用的方法不是fabricJS的方法,对于dataUrl没有问题,因为你可以在这里生成一个dataurl并将它传递给这个函数,而对于blob你必须使用
fabricCanvas.toCanvasElement(...)
如果出于任何原因您更喜欢 blob 的优势而不是 dataUrls,则从 canvasElement 移动到 blob。
推荐阅读
- java - 如何实现 Java 爬虫来爬取 PDF 文件链接?
- java - 等待鼠标事件
- ios - 新的 APNS 证书会使以前的身份验证密钥 - iOS 失效吗?
- python - 为什么会有这段代码存在?
- asp.net-mvc - 如何使用数据库中不存在的记录的默认值填充列表?
- javascript - 在 javascript Odoo 10 中获取 active_id
- psychopy - Errno 24 使用 Psychopy 时打开的文件过多
- alert - 如何显示队列中最旧的指标?格拉法纳/普罗米修斯
- r - R用NA填充数据框的缺失值
- php - 需要 Google App Engine 登录 Flex