getDefulteSize method

EdgeInsets getDefulteSize(
  1. dynamic paddBottomLeft,
  2. dynamic paddBottomRight,
  3. dynamic paddRightTop,
  4. dynamic paddRightBottom,
  5. dynamic width,
  6. dynamic heiget,
)

判断图片内容填充区域最小范围

Implementation

EdgeInsets getDefulteSize(paddBottomLeft, paddBottomRight, paddRightTop,
    paddRightBottom, width, heiget) {
  var left = paddBottomLeft > 0 ? paddBottomLeft : width / 2;
  var top = paddRightTop > 0 ? paddRightTop : heiget / 2;
  var right = ((width ?? 0) - paddBottomRight) > 0
      ? (width ?? 0) - paddBottomRight
      : width / 2;
  var bottom = ((heiget ?? 0) - paddRightBottom) > 0
      ? (heiget ?? 0) - paddRightBottom
      : heiget / 2;
  var pWidth = left + right;
  var pHeigth = top + bottom;

  var p = (heiget / 2) - 6 > 0 ? (heiget / 2) - 6 : 0.0;

  // log("---宽高情况 P$pWidth,$pHeigth- image-w $width,$heiget------->");
  // log("---left$left-top$top-right$right-bottom$bottom-->");
  if (pWidth <= width && pHeigth > heiget) {
    return EdgeInsets.fromLTRB((width / 2), top, (width / 2), bottom);
  }
  //宽高不做处理,设置整体padding为原始图片的大小。
  if (pWidth <= width && pHeigth <= heiget) {
    return EdgeInsets.fromLTRB((width / 2), p, (width / 2), p);
  }
  if (pWidth > width && pHeigth <= heiget) {
    return EdgeInsets.fromLTRB(left, p, right, p);
  } else {
    return EdgeInsets.fromLTRB(left, top, right, bottom);
  }
}