1. 程式人生 > >jquery 實現網頁端圖片等比縮放

jquery 實現網頁端圖片等比縮放

一、實現原理

1.固定區域

規定圖片顯示區域大小,例如200px * 200px,最終縮放後圖片不會超出該範圍。

2.圖片尺寸

需要獲取到圖片的高度和寬度,(注意:當然圖片未載入完成,無法獲取到圖片的尺寸),再利用固定區域尺寸進行等比縮放。

3.縮放原則

如果圖片的寬度大於固定區域寬度,則將圖片寬度縮放為固定區域寬度,然後根據該比例縮放圖片的高度,如果此時縮放後的高度大於固定區域的高度,那麼再次對圖片的寬度進行縮放;同理,先判斷圖片的高度是否超出固定區域高度...。其實,最根本的原則是圖片寬高縮放比例不變和最終圖片不能超出固定區域範圍。

二、jquery 程式碼實現

1.引入JQuery 類庫

<script type="text/javascript" src="js/jquery-2.2.1.min.js"></script> 

2.實現函式

    // 根據url獲取圖片尺寸並進行等比縮放
        function checkPhoto(url){
            var img = new Image();
            img.src = url;
            var doc_w = $(window).width() * 0.8;   // 螢幕寬度
            var doc_h = $(window).height() * 0.8
; // 螢幕高度 var img_w; // 圖片寬度 var img_h; // 圖片高度 if(img.complete){ img_w = img.width; img_h = img.height; // 圖片等比縮放 if (img_w > doc_w) { //如果圖片寬度大於螢幕寬度的0.8倍 var height = (doc_w * img_h) / img_w; //高度等比縮放
if(height > doc_h){ // 縮放後高度大於螢幕高度0.8倍 var width = (doc_w * doc_h) / height; height = doc_h; //繼續縮放高度 } img_w = doc_w; img_h = height; } if(img_h > doc_h){ //如果圖片高度超出指定最大高度 var width = (doc_h * img_w) / img_h; //高度等比縮放 if(width > doc_w){ doc_h = (doc_w * doc_h) / width; width = doc_w; //高度等比縮放 } img_w = width; img_h = doc_h; } return img_w + "," + img_h; }else{ img.onload = function(){ img_w = img.width; img_h = img.height; // 圖片等比縮放 if (img_w > doc_w) { //如果圖片寬度大於螢幕寬度的0.8倍 var height = (doc_w * img_h) / img_w; //高度等比縮放 if(height > doc_h){ // 縮放後高度大於螢幕高度0.8倍 var width = (doc_w * doc_h) / height; height = doc_h; //繼續縮放高度 } img_w = doc_w; img_h = height; } if(img_h > doc_h){ //如果圖片高度超出指定最大高度 var width = (doc_h * img_w) / img_h; //高度等比縮放 if(width > doc_w){ doc_h = (doc_w * doc_h) / width; width = doc_w; //高度等比縮放 } img_w = width; img_h = doc_h; } return img_w + "," + img_h; img.onload=null;//避免重複載入 } } }

相關推薦

jquery 實現網頁圖片

一、實現原理 1.固定區域 規定圖片顯示區域大小,例如200px * 200px,最終縮放後圖片不會超出該範圍。 2.圖片尺寸 需要獲取到圖片的高度和寬度,(注意:當然圖片未載入完成,

JAVA實現圖片,圖片擷取功能--封裝類

import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; import java.

記一次產品需求:圖片和CSS自適應布局16:9

是我 width 圖片展示 網上 IT tom 就會 很好 尺寸 前言   前陣子,產品跑過來問我現有的模板中沒有圖片模板,需要添加一個圖片模板;然而,他要求圖片在展示區最好能夠實現隨著窗口的變化而自動按圖片比例等比縮放,並且居中展示圖片。我當時想著,拋開技術實現層面,圖

[響應式]兩種圖片寫法

寫法一: <div class="pic"><a href=""><img src="images/pic-product1.jpg" alt=""></a></div> 樣式:  .pic{padding-bo

微信小程式圖片顯示正中間

這是小程式 image標籤的mode ,對圖片的縮放做的處理 縮放 scaleToFill 不保持縱橫比縮放圖片,使圖片的寬高完全拉伸至填滿 image 元素 縮放 aspectFit 保持縱橫比縮放圖片,使圖片的長邊能完全顯示出來。也就是說,可以完整地將圖

WAP移動頁面顯示,文字和內容實現

同一個頁面,在不同顯示比例下如何等等比縮放而使頁面不會變形 比如同一個頁面下,372px 和642px顯示比例下文字大小和塊元素高度會隨著顯示的比例來等比縮放 比例始終顯示協調,不用重複除錯,其中一個重要的元素是將所有定義寬高的元素設定為rem rem是一個相對大小的值

php實現按指定大小放生成上傳圖片圖的方法

/** * * *等比縮放 * @param unknown_type srcImage源圖片路徑∗@paramunknowntypetoFile 目標圖片路徑 * @param unknown_type maxWidth最大寬∗

[ php or jsp ] + jquery.imgareaselect 處理圖片截圖

關鍵字: imgareaselect 圖片縮放 圖片截圖 php jquery 在開發中難免碰到圖片上傳問題!圖片上傳問題很好解決,而上傳到伺服器上的圖片尺寸大小不一,使表現層無法使用統一的規格顯示被上傳的圖片。

上傳圖片的一個小小算法

lba sim image 委托 fromfile tps 獲取 head 引用 protected void Button1_Click(object sender, EventArgs e) { int width = 300, h

NPOI隨筆——圖片在單元格且居中顯示

iclient convert sub 相對 gpo style 文字 div tsp   NPOI導出的圖片默認是在單元格左上方,這使得圖片在單元格顯示得很難看。居中,且等比縮放,才是圖片在單元格上的完美展示。 /// <

c# 圖片

public Bitmap getnew(Image bit, int TargetWidth, int TargetHeight)//beishu引數為放大的倍數。放大縮小都可以,0.8即為縮小至原來的0.8倍 { Bitmap destBitmap = new Bitmap(TargetWidth, Ta

圖片上傳裁剪&處理(html5+Canvas)

Capricorncd-image-process Image pre processing for upload (html5 + canvas) 解決圖片上傳前縮放到一定比例自動居中裁剪、

CSS限定圖片寬高在範圍內(img預設寬高屬性)

在標準瀏覽器中,我們可以通過 img{ max-width:400px; max-height:200px; } CSS樣式控制圖片,限定img圖片在指定範圍內等比縮放。該功能實現的前提是最終顯示的img標籤必須預設寬度或高度屬性(img圖片沒有寬高屬性)。 im

用javascript實現圖片比例

js部分: <script type="text/javascript"> $(window).load(function() {   ImageAutoResize('div[id=demotu]');   function ImageAutoResize(findstr)   {

Js圖片比例

tail wid display 圖片等比例縮放 nbsp function document fun splay <img src="chargein_cashgift_detail.png" class="img" > function sh

元素解決方案

方案 相對 absolute red add bottom 定位 fff round 一、元素等比縮放解決方案 <style> /*等比縮放*/ .box{ position: relative;

UEditor 上傳圖片比例

修改ueditor.all.js 16995行 updateTargetElement: function(){}裡的內容為 updateTargetElement: function () { var me = this; var newWidt

Swing攝像頭拍照並截圖,後儲存到資料庫後再顯示到桌面

一.功能介面展示: 二.程式碼展示: 以下是Swing窗體,按鈕設定。 /**攝像頭面板*/ static OpenCVFrameConverter.ToIplImage converter = new OpenCVFrameCo

之自適應神器——css3的rem

1.rem簡介   rem是CSS3中新增加的一個單位值,他和em單位一樣,都是一個相對單位。不同的是em是相對於元素的父元素的font-size進行計算;rem是相對於根元素html的font-size進行計算。這樣一來rem就繞開了複雜的層級關係,實現了類似於em單位的功

PHP例項————圖片比例功能

在網站開發的過程中,經常要對一些圖片進行一些處理,比如說縮放,裁剪,加水印等等。當然這些功能不僅僅可以用在開發網站的過程中,平時需要對圖片做一些處理的時候,把這個功能封裝到函式中去,要處理圖片的時候,