关于图片按比例自适应缩放的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>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Kecerahan penyesuaian ialah ciri pada komputer Windows 11 yang melaraskan tahap kecerahan skrin anda berdasarkan kandungan yang dipaparkan atau keadaan pencahayaan. Memandangkan sesetengah pengguna masih membiasakan diri dengan antara muka baharu Windows 11, Adaptive Brightness tidak dapat ditemui dengan mudah, malah ada yang mengatakan ciri Adaptive Brightness tiada pada Windows 11, jadi tutorial ini akan membersihkan semuanya. Contohnya, jika anda menonton video YouTube dan video itu tiba-tiba menunjukkan pemandangan gelap, Kecerahan Suaian akan menjadikan skrin lebih cerah dan meningkatkan tahap kontras. Ini berbeza daripada kecerahan automatik, iaitu tetapan skrin yang membolehkan komputer, telefon pintar atau peranti anda melaraskan tahap kecerahan berdasarkan pencahayaan ambien. Terdapat yang istimewa di kamera hadapan

PPT dihasilkan dan dimainkan melalui skrin komputer atau projektor, jadi nisbah paparan akan ditetapkan secara berbeza bergantung pada mesin tempat ia dihantar Contohnya, sekolah dan tempat lain memerlukan saiz nisbah 4:3, yang boleh digunakan apabila syarikat membuat laporan ringkas saiz nisbah 16:9, nisbah skrin lebar lain juga tersedia. Jadi di manakah tetapan nisbah ppt tertentu Di bawah, editor akan memperkenalkan kepada anda kaedah operasi nisbah ppt. 1. Tetapan skala ppt adalah seperti berikut: selepas membuka perisian, ia akan memasuki halaman permulaan secara lalai, dan anda perlu menukar kepada reka bentuk seperti yang ditunjukkan. 2. Di bahagian atas sebelah kanan halaman reka bentuk, anda boleh menemui butang pelarasan saiz ikon Klik untuk mengembangkan lebih banyak nisbah, dan anda boleh melihat nisbah empat hingga tiga yang lebih biasa digunakan untuk membuka tetapan yang anda perlukan. 3. Ini akan membuka pelarasan perkadaran

Dengan populariti Internet mudah alih, semakin banyak laman web dan aplikasi perlu mempertimbangkan pengalaman mudah alih. Sebagai rangka kerja bahagian hadapan yang popular, Vue mempunyai reka letak responsif dan keupayaan penyesuaian, yang boleh membantu kami membina antara muka mudah alih adaptif. Artikel ini akan memperkenalkan cara menggunakan Vue untuk membina antara muka mudah alih adaptif. Menggunakan rem dan bukannya px sebagai unit dan menggunakan px sebagai unit dalam antara muka mudah alih boleh mengakibatkan kesan paparan yang tidak konsisten pada peranti yang berbeza. Oleh itu, adalah disyorkan untuk menggunakan rem dan bukannya px sebagai unit. rem adalah relatif

Cara menggunakan unit CSSViewport vmin dan vw untuk melaksanakan saiz imej adaptif Dalam reka bentuk web, kita sering menghadapi situasi di mana imej perlu disesuaikan dengan saiz skrin. Untuk mencapai matlamat ini, CSS menyediakan unit berkuasa - unit port pandang. Antaranya, vmin mewakili peratusan sisi yang lebih kecil lebar viewport, dan vw mewakili peratusan lebar viewport. Oleh itu, kita boleh menggunakan kedua-dua unit ini untuk mencapai kesan saiz imej penyesuaian. Khususnya akan diperkenalkan di bawah

Vue boleh mencapai penyesuaian diri Kaedah untuk mencapai penyesuaian diri ialah: 1. Pasang komponen "kotak skala" melalui arahan "pemasangan npm" atau "tambah benang", dan gunakan "kotak skala" untuk mencapai penskalaan penyesuaian. ; 2. Melalui Tetapkan nisbah piksel peranti untuk mencapai penyesuaian diri 3. Tetapkan atribut zum melalui JS untuk melaraskan nisbah zum untuk mencapai penyesuaian diri.

CSSViewport: Cara menggunakan vmax dan vw untuk melaksanakan lebar teks adaptif Dengan populariti peranti mudah alih, reka bentuk responsif telah menjadi konsep penting dalam reka bentuk web. Antaranya, lebar teks penyesuaian untuk mengekalkan kesan paparan yang konsisten di bawah saiz skrin yang berbeza adalah teknologi penting. Artikel ini akan memperkenalkan cara menggunakan unit CSSViewport, terutamanya unit vmax dan vw, untuk melaksanakan lebar teks penyesuaian. Sebagai tambahan kepada penjelasan teori, kami juga akan memberikan khusus

Cara membuat susun atur laman web adaptif menggunakan HTML, CSS dan jQuery Dalam era Internet hari ini, susun atur laman web adaptif telah menjadi keperluan penting. Reka letak penyesuaian tapak web boleh membolehkan tapak web memaparkan pengalaman pengguna yang baik pada peranti yang berbeza dan menyesuaikan diri dengan peranti dengan saiz skrin yang berbeza, seperti komputer, tablet dan telefon mudah alih. Artikel ini akan memperkenalkan cara menggunakan HTML, CSS dan jQuery untuk mencipta reka letak tapak web responsif, dan menyediakan contoh kod khusus. Buat rangka tapak web menggunakan HTML

Pada 26 November 2020, pasukan PHP secara rasmi mengeluarkan versi PHP 8.0 Berbanding dengan versi sebelumnya, PHP 8.0 membawakan banyak ciri dan penambahbaikan baharu Salah satu ciri yang perlu diberi perhatian ialah pelayan penyesuaian. Artikel ini akan memperkenalkan konsep pelayan suai dalam PHP8.0 dan kelebihannya. Dalam versi PHP sebelumnya, pembangun boleh menggunakan pelayan PHP sendiri (seperti PHP-FPM, Apache) untuk menjalankan kod mereka sendiri. Walau bagaimanapun, kelemahan pelayan ini
