利用JPEG怎么提升用戶的體驗(yàn)度-創(chuàng)新互聯(lián)

利用JPEG怎么提升用戶的體驗(yàn)度?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元三河做網(wǎng)站,已為上家服務(wù),為三河各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

JPEG文件有兩種保存方式他們分別是Baseline JPEG(標(biāo)準(zhǔn)型)和Progressive JPEG(漸進(jìn)式)。兩種格式有相同尺寸以及圖像數(shù)據(jù),他們的擴(kuò)展名也是相同的,的區(qū)別是二者顯示的方式不同。

Baseline JPEG

這種類型的JPEG文件存儲方式是按從上到下的掃描方式,把每一行順序的保存在JPEG文件中。打開這個(gè)文件顯示它的內(nèi)容時(shí),數(shù)據(jù)將按照存儲時(shí)的順序從上到下一行一行的被顯示出來,直到所有的數(shù)據(jù)都被讀完,就完成了整張圖片的顯示。如果文件較大或者網(wǎng)絡(luò)下載速度較慢,那么就會看到圖片被一行行加載的效果,這種格式的JPEG沒有什么優(yōu)點(diǎn),因此,一般都推薦使用Progressive JPEG。

Progressive JPEG


和Baseline一遍掃描不同,Progressive JPEG文件包含多次掃描,這些掃描順尋的存儲在JPEG文件中。打開文件過程中,會先顯示整個(gè)圖片的模糊輪廓,隨著掃描次數(shù)的增加,圖片變得越來越清晰。這種格式的主要優(yōu)點(diǎn)是在網(wǎng)絡(luò)較慢的情況下,可以看到圖片的輪廓知道正在加載的圖片大概是什么。在一些網(wǎng)站打開較大圖片時(shí),你就會注意到這種技術(shù)。

漸進(jìn)式圖片帶來的好處是可以讓用戶在沒有下載完圖片就可以看到最終圖像的大致輪廓,一定程度上可以提升用戶體驗(yàn)。


另外漸進(jìn)式的圖片的大小并不會和基本的圖片大小相差很多,有時(shí)候可能會比基本圖片更小。漸進(jìn)式的圖片的缺點(diǎn)就是吃用戶的CPU和內(nèi)存,不過對于現(xiàn)在的電腦來說這點(diǎn)圖片的計(jì)算并不算什么。


說了這邊多下面就改講講怎么講圖片保存為或者轉(zhuǎn)化為Progressive JPEG了。

1、PhotoShop

在photoshop中有“存儲為web所用格式”,打開后選擇“連續(xù)”就是漸進(jìn)式JPEG。

利用JPEG怎么提升用戶的體驗(yàn)度

具體教程參考 https://www.jb51.net/photoshop/182198.html

2、Linux

檢測是否為progressive jpeg : identify -verbose filename.jpg | grep Interlace(如果輸出 None 說明不是progressive jpeg;如果輸出 Plane 說明是 progressive jpeg。)

將basic jpeg轉(zhuǎn)換成progressive jpeg:> convert infile.jpg -interlace Plane outfile.jpg

3、PHP

使用 imageinterlace 和 imagejpeg 函數(shù)我們可以輕松解決轉(zhuǎn)換問題。

<?php
    $im = imagecreatefromjpeg('pic.jpg');
    imageinterlace($im, 1);
    imagejpeg($im, './php_interlaced.jpg', 100);
    imagedestroy($im);
?>

4、Python

import PIL
from exceptions import IOError
img = PIL.Image.open("c:\\users\\biaodianfu\\pictures\\in.jpg")
destination = "c:\\users\\biaodianfu\\pictures\\test.jpeg"
try:
  img.save(destination, "JPEG", quality=80, optimize=True, progressive=True)
except IOError:
  PIL.ImageFile.MAXBLOCK = img.size[0] * img.size[1]
  img.save(destination, "JPEG", quality=80, optimize=True, progressive=True)

5、jpegtran

jpegtran -copy none -progressive <inputfile> <outputfile>

6、C#

using (Image source = Image.FromFile(@"D:\temp\test2.jpg")) { 
  ImageCodecInfo codec = ImageCodecInfo.GetImageEncoders().First(c => c.MimeType == "image/jpeg"); 
  EncoderParameters parameters = new EncoderParameters(3);
  parameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
  parameters.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.ScanMethod, (int)EncoderValue.ScanMethodInterlaced);
  parameters.Param[2] = new EncoderParameter(System.Drawing.Imaging.Encoder.RenderMethod, (int)EncoderValue.RenderProgressive); 
  source.Save(@"D:\temp\saved.jpg", codec, parameters);
}

看完上述內(nèi)容,你們掌握利用JPEG怎么提升用戶的體驗(yàn)度的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁名稱:利用JPEG怎么提升用戶的體驗(yàn)度-創(chuàng)新互聯(lián)
本文鏈接:http://bm7419.com/article20/hecco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)搜索引擎優(yōu)化、網(wǎng)站營銷、外貿(mào)建站品牌網(wǎng)站制作、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)