You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取选中画布图片的宽高?能否通过裁剪边界值计算?

回答

当然可以通过这些边界值计算出图片的高度和宽度,同时也有对应的属性可以直接获取尺寸,下面分两部分说明:

一、手动计算宽高

  • 宽度:直接用右侧边界值减去左侧边界值即可:
    width = right - left = 508 - 51 = 457
  • 高度:这里需要注意坐标系的方向——你给出的top值(676)比bottom值(477)大,说明你的坐标系是y轴向上(原点在左下角),这种情况下高度就是top减去bottom:
    height = top - bottom = 676 - 477 = 199
    如果是常见的y轴向下的坐标系(比如HTML5 Canvas),高度则是bottom - top,本质都是取垂直方向两个边界的差值。

二、直接获取尺寸的属性

如果你是在使用HTML5 Canvas进行操作,当你通过getImageData()获取裁剪区域时,返回的ImageData对象自带width和height属性,无需手动计算:

const ctx = document.getElementById('yourCanvas').getContext('2d');
// 传入裁剪的起始坐标和宽高(这里宽高就是我们计算出的457和199)
const croppedImageData = ctx.getImageData(51, 477, 457, 199);
console.log('裁剪后宽度:', croppedImageData.width);
console.log('裁剪后高度:', croppedImageData.height);

如果是处理DOM中的图片元素,还可以通过以下属性直接获取:

  • naturalWidth/naturalHeight:获取图片的原始尺寸
  • offsetWidth/offsetHeight:获取图片在页面中的显示尺寸(包含边框等样式影响)

内容的提问来源于stack exchange,提问作者Smit Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:43:47