关于图片按比例自适应缩放的js代码_图象特效
如下图。
瞄了一下,居中可以用 text-align:center; 来实现。而按比例缩放,利用预设 的 width 、height 属性解决不了。因为用户图片可能是很长的,也可能是很宽的。在线上想了一下他们的关系,按条件来判断是这样的:
if(实际宽度 > 预览最大宽度) {
缩放宽度 = 预览最大宽度
}
if(实际高度 > 预览最大高度) {
缩放高度 = 预览最大高度
}
但是这样会有问题,比如当宽度和高度都被缩放,如果缩放比较不同,图片就不是按比例缩放,会变得非常丑。为了让它按比例缩放,就需要做各种判断了。那这样就违背了我们希望程序自动化的原则了。再想想,虽然不喜欢数学,但数学还是很好用的,应该有其他办法。而既然是按比例缩放,何不用实际图像和预览区域宽度作的比例来计算他们关系?hmmmm… 果然 OK。实际上我们永远都只需要缩放宽度或高度中的其中一个。因为比例只有大和小种情况。具体的,写一个函数来实现它吧:
/**
* 图片按比例自适应缩放
* @param img {Element} 用户上传的图片
* @param maxWidth {Number} 预览区域的最大宽度
* @param maxHeight {Number} 预览区域的最大高度
*/
var resizeImg = function(img, maxWidth, maxHeight){
var w = img.width,
h = img.height;
// 当图片比预览区域小时不做任何改变
if(w
// 当实际图片比例大于预览区域宽高比例时
// 缩放图片宽度,反之缩放图片宽度
w/h > maxWidth/maxHeight ? img.width = maxWidth : img.height = maxHeight;
};
完整的测试代码:
<script> <BR>window.onload = function() { <BR>var img = document.getElementById('img'), <BR>/** <BR>* 图片按比例自适应缩放 <BR>* @param img {Element} 用户上传的图片 <BR>* @param maxWidth {Number} 预览区域的最大宽度 <BR>* @param maxHeight {Number} 预览区域的最大高度 <BR>*/ <BR>resizeImg = function(img, maxWidth, maxHeight){ <BR>var w = img.width, <BR>h = img.height; <BR>// 当图片比预览区域小时不做任何改变 <BR>if(w < maxWidth && h < maxHeight) return; <BR>// 当实际图片比例大于预览区域宽高比例时 <BR>// 缩放图片宽度,反之缩放图片宽度 <BR>w/h > maxWidth/maxHeight ? img.width = maxWidth : img.height = maxHeight; <BR>}; <BR>resizeImg(img, 500, 300); <BR>} <BR></script>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Adaptive Helligkeit ist eine Funktion auf Windows 11-Computern, die die Helligkeit Ihres Bildschirms basierend auf dem angezeigten Inhalt oder den Lichtverhältnissen anpasst. Da sich einige Benutzer noch an die neue Benutzeroberfläche von Windows 11 gewöhnen müssen, ist Adaptive Brightness nicht leicht zu finden, und einige sagen sogar, dass die Adaptive Brightness-Funktion in Windows 11 fehlt, daher wird dieses Tutorial alles klären. Wenn Sie beispielsweise ein YouTube-Video ansehen und das Video plötzlich eine dunkle Szene zeigt, wird der Bildschirm durch die adaptive Helligkeit heller und der Kontrast erhöht. Dies unterscheidet sich von der automatischen Helligkeit, einer Bildschirmeinstellung, die es Ihrem Computer, Smartphone oder Gerät ermöglicht, die Helligkeitsstufen basierend auf der Umgebungsbeleuchtung anzupassen. Eine Besonderheit gibt es in der Frontkamera

PPT wird über einen Computerbildschirm oder Projektor produziert und abgespielt, daher wird das Anzeigeverhältnis je nach Gerät, an das es geliefert wird, unterschiedlich eingestellt. Beispielsweise benötigen Schulen und andere Orte ein Seitenverhältnis von 4:3, das von Unternehmen verwendet werden kann Erstellen Sie kurze Berichte im Format 16:9, andere Breitbildformate sind ebenfalls verfügbar. Wo ist also die spezifische Einstellung des ppt-Verhältnisses? Im Folgenden stellt Ihnen der Herausgeber die Funktionsweise des ppt-Verhältnisses vor. 1. Die Einstellung der ppt-Skalierung ist wie folgt: Nach dem Öffnen der Software wird standardmäßig die Startseite aufgerufen und Sie müssen wie gezeigt zum Design wechseln. 2. Oben rechts auf der Designseite finden Sie die Schaltfläche zum Anpassen der Symbolgröße. Klicken Sie hier, um weitere Verhältnisse anzuzeigen. Klicken Sie auf „Benutzerdefiniert“, um die benötigten Einstellungen zu öffnen. 3. Dadurch wird die Proportionsanpassung geöffnet

Mit der Popularität des mobilen Internets müssen immer mehr Websites und Anwendungen das mobile Erlebnis berücksichtigen. Als beliebtes Front-End-Framework verfügt Vue über ein reaktionsfähiges Layout und adaptive Funktionen, die uns beim Aufbau adaptiver mobiler Schnittstellen helfen können. In diesem Artikel wird erläutert, wie Sie mit Vue eine adaptive mobile Schnittstelle erstellen. Die Verwendung von rem anstelle von px als Einheit und die Verwendung von px als Einheit in der mobilen Benutzeroberfläche kann zu inkonsistenten Anzeigeeffekten auf verschiedenen Geräten führen. Daher empfiehlt es sich, als Einheit rem statt px zu verwenden. rem ist relativ

So verwenden Sie die CSSViewport-Einheiten vmin und vw, um die adaptive Bildgröße zu implementieren. Im Webdesign stoßen wir häufig auf Situationen, in denen Bilder an die Bildschirmgröße angepasst werden müssen. Um dieses Ziel zu erreichen, stellt CSS eine leistungsstarke Einheit bereit – die Viewport-Einheit. Dabei repräsentiert vmin den Prozentsatz der kleineren Seite der Breite des Ansichtsfensters und vw den Prozentsatz der Breite des Ansichtsfensters. Daher können wir diese beiden Einheiten verwenden, um den Effekt der adaptiven Bildgröße zu erzielen. Die Einzelheiten werden im Folgenden vorgestellt

Vue kann eine Selbstanpassung erreichen: 1. Installieren Sie die Komponente „scale-box“ über den Befehl „npm install“ oder „yarn add“ und verwenden Sie „scale-box“, um eine adaptive Skalierung zu erreichen ; 2. Stellen Sie das Pixelverhältnis des Geräts ein, um eine Selbstanpassung zu erreichen. 3. Stellen Sie das Zoomattribut über JS ein, um das Zoomverhältnis anzupassen, um eine Selbstanpassung zu erreichen.

CSSViewport: Verwendung von vmax und vw zur Implementierung adaptiver Textbreite Mit der Popularität mobiler Geräte ist responsives Design zu einem wichtigen Konzept im Webdesign geworden. Darunter ist die adaptive Textbreite zur Aufrechterhaltung konsistenter Anzeigeeffekte bei unterschiedlichen Bildschirmgrößen eine wichtige Technologie. In diesem Artikel wird erläutert, wie Sie CSSViewport-Einheiten, insbesondere Vmax- und VW-Einheiten, verwenden, um die adaptive Textbreite zu implementieren. Neben theoretischen Erläuterungen geben wir auch konkrete Erläuterungen

So erstellen Sie ein adaptives Website-Layout mit HTML, CSS und jQuery. Im heutigen Internetzeitalter ist das adaptive Layout von Websites zu einer wesentlichen Voraussetzung geworden. Das adaptive Layout der Website kann es ermöglichen, dass die Website auf verschiedenen Geräten ein gutes Benutzererlebnis bietet und sich an Geräte mit unterschiedlichen Bildschirmgrößen wie Computer, Tablets und Mobiltelefone anpasst. In diesem Artikel wird erläutert, wie Sie mithilfe von HTML, CSS und jQuery ein responsives Website-Layout erstellen, und es werden spezifische Codebeispiele bereitgestellt. Erstellen Sie ein Website-Gerüst mit HTML

Am 26. November 2020 veröffentlichte das PHP-Team offiziell die Version PHP 8.0. Im Vergleich zu früheren Versionen bringt PHP 8.0 viele neue Funktionen und Verbesserungen mit sich. Eine der erwähnenswerten Funktionen ist der adaptive Server. In diesem Artikel werden das Konzept des adaptiven Servers in PHP8.0 und seine Vorteile vorgestellt. In früheren PHP-Versionen konnten Entwickler den PHP-eigenen Server (z. B. PHP-FPM, Apache) verwenden, um ihren eigenen Code auszuführen. Allerdings sind die Nachteile dieser Server
