Heim Web-Frontend js-Tutorial 关于图片按比例自适应缩放的js代码_图象特效

关于图片按比例自适应缩放的js代码_图象特效

May 16, 2016 pm 06:00 PM
Anteil 自适应

如下图。

图片自适应缩放

瞄了一下,居中可以用 text-align:center; 来实现。而按比例缩放,利用预设 关于图片按比例自适应缩放的js代码_图象特效 的 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>


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So konfigurieren Sie die inhaltsadaptive Helligkeit unter Windows 11 So konfigurieren Sie die inhaltsadaptive Helligkeit unter Windows 11 Apr 14, 2023 pm 12:37 PM

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

Wo wird das ppt-Verhältnis eingestellt? Wo wird das ppt-Verhältnis eingestellt? Mar 20, 2024 pm 01:19 PM

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

Wie erstellt man mit Vue eine adaptive mobile Schnittstelle? Wie erstellt man mit Vue eine adaptive mobile Schnittstelle? Jun 27, 2023 am 11:05 AM

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 implementieren Sie die adaptive Bildgröße mithilfe der CSS-Viewport-Einheiten vmin und vw So implementieren Sie die adaptive Bildgröße mithilfe der CSS-Viewport-Einheiten vmin und vw Sep 13, 2023 am 08:18 AM

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

Kann Vue anpassungsfähig sein? Kann Vue anpassungsfähig sein? Dec 30, 2022 pm 03:25 PM

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.

CSS-Viewport: So verwenden Sie vmax und vw, um eine adaptive Textbreite zu implementieren CSS-Viewport: So verwenden Sie vmax und vw, um eine adaptive Textbreite zu implementieren Sep 13, 2023 am 10:16 AM

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 responsives Website-Layout mit HTML, CSS und jQuery So erstellen Sie ein responsives Website-Layout mit HTML, CSS und jQuery Oct 27, 2023 am 11:06 AM

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

Adaptiver Server in PHP8.0 Adaptiver Server in PHP8.0 May 14, 2023 pm 01:10 PM

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

See all articles