From c98e45bfac25e9110ad0383faac54a54d98ea9d5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 18 十一月 2021 20:47:04 +0800
Subject: [PATCH] 2021-11-18

---
 src/components/Image/index.jsx |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/src/components/Image/index.jsx b/src/components/Image/index.jsx
index e2a7989..508c7be 100644
--- a/src/components/Image/index.jsx
+++ b/src/components/Image/index.jsx
@@ -6,6 +6,8 @@
     let Img = new Image()
     Img.src = this.props.url
     
+    if (!this.ImageWrapDom) return
+    
     if (Img.complete) {
       this.setSize(Img.width, Img.height)
     } else {
@@ -20,13 +22,18 @@
   }
 
   setSize = (width, height) => {
+    if (!this.ImageWrapDom) return
     const { clientWidth, clientHeight } = this.ImageWrapDom
 
     if (!clientWidth || !clientHeight || !width || !height) return
 
     let ratio = (width / height) / (clientWidth / clientHeight)
 
-    if (ratio > 1) {
+    if (ratio > 1.5) {
+      let _height = Math.floor(height * (clientWidth / width))
+      this.ImageDom.style.height = 'auto'
+      this.ImageDom.style.top = ((clientHeight - _height) / 2) + 'px'
+    } else if (ratio > 1 && ratio < 1.5) {
       let _width = Math.floor(width / (height / clientHeight))
       this.ImageDom.style.width = _width + 'px'
       this.ImageDom.style.left = '-' + ((_width - clientWidth) / 2) + 'px'

--
Gitblit v1.8.0