画布到数据不带 alpha 通道的URL
Canvas toDataURL without alpha channel
我想在浏览器中调整上传图像的大小。我正在使用画布将上传的图像绘制到画布,然后调整其大小,并使用 toDataURL 方法的结果。
简化的代码(没有上传部分)如下所示:
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d', { alpha: false} );
// img src contains data url of uploaded image
ctx.drawImage(img, 0, 0, imgWidth, imgHeight);
var dataUrl = canvas.toDataURL('image/png');
问题是 dataUrl 包含 alpha 通道,尽管上下文是在 alpha 设置为 false 的情况下创建的。
是否可以在没有阿尔法通道的情况下获取数据 URL?
如果没有,我考虑使用Javascript图像库之一,但大多数都依赖于画布。
此外,我可以使用画布中的数据对图像进行编码,但我宁愿不这样做:)
alpha:false
只在WebGL中使用。创建 2D 上下文时会忽略它。
但是您可以以 jpg 格式导出画布,其中不需要的 alpha 被消除:
// export a full-quality jpg dataUrl
canvas.toDataURL("image/jpeg", 1.0);
相关文章:
- 如何将不可变的js导入angular 2(alpha)
- 如何使用RGB或HSL显示HWB/HSB/CMYK通道
- 如何(功能)检测浏览器是否支持WebM alpha透明度
- GoogleCalendarJavaScriptapi,将用户添加到带有“;写“;通道
- Kurento数据通道的创建和管理
- html5具有特定alpha的画布填充文本和具有不同alpha的背景
- Tic tac toe alpha-beta
- 如何启动WebRTC数据通道
- 从source-mirth检索通道目标中的数组结果
- html5画布支持带alpha的十六进制颜色吗
- 新的gump ruby sass alpha任务失败
- Obtain alpha from Bootstrap Colorpicker
- HTML5画布到PNG在alpha透明时将所有通道归零
- 正在禁用derbyjs中的浏览通道
- EffectComposer和具有三个.js的alpha通道
- 按 alpha 通道绘制的图像映射
- 画布到数据不带 alpha 通道的URL
- WebGL渲染到纹理-如何将数据写入alpha通道
- 添加Alpha通道的背景颜色使用jQuery / JavaScript
- 直接设置路径中的每个点'画布上的alpha通道