wx.getImageInfo({ src: tempFilePaths[index], success: function (res) { const ctx = wx.createCanvasContext('photo_canvas'); var picW = res.width, picH = res.height; ctx.drawImage(tempFilePaths[index], 0, 0, 100, parseInt(picH / picW * 100)) ctx.draw(false, function () { wx.canvasToTempFilePath({ x: -200, y: -200, width: 100, height: parseInt(picH / picW * 100), destWidth: 100, destHeight: parseInt(picH / picW * 100), canvasId: 'photo_canvas', success: function (res) { var filePaths = res.tempFilePath 请问怎么修改上面的一些参数,让最终输出的图片,按原始比列缩小,而不是固定高度,导致图片形变
时间: 2024-01-04 18:02:25 浏览: 138
微信小程序wx.getImageInfo()如何获取图片信息
要让最终输出的图片按原始比例缩小,可以将固定高度的参数改为固定宽度,并且按照原始比例计算高度。具体的修改如下:
1. 将固定高度的参数 `parseInt(picH / picW * 100)` 改为固定宽度的参数 `100`。
2. 计算按照原始比例缩小后的高度,公式为 `picH / picW * 100`。
3. 将 `height` 和 `destHeight` 的值改为按照原始比例计算出的高度。
修改后的代码如下:
```
wx.getImageInfo({
src: tempFilePaths[index],
success: function (res) {
const ctx = wx.createCanvasContext('photo_canvas');
var picW = res.width,
picH = res.height;
ctx.drawImage(tempFilePaths[index], 0, 0, 100, picH / picW * 100)
ctx.draw(false, function () {
wx.canvasToTempFilePath({
x: -200,
y: -200,
width: 100,
height: picH / picW * 100,
destWidth: 100,
destHeight: picH / picW * 100,
canvasId: 'photo_canvas',
success: function (res) {
var filePaths = res.tempFilePath
```
这样就能够保持图片的原始比例,避免形变。
阅读全文