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

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

創(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è)夢(mèng)想脫穎而出為使命,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文件存儲(chǔ)方式是按從上到下的掃描方式,把每一行順序的保存在JPEG文件中。打開(kāi)這個(gè)文件顯示它的內(nèi)容時(shí),數(shù)據(jù)將按照存儲(chǔ)時(shí)的順序從上到下一行一行的被顯示出來(lái),直到所有的數(shù)據(jù)都被讀完,就完成了整張圖片的顯示。如果文件較大或者網(wǎng)絡(luò)下載速度較慢,那么就會(huì)看到圖片被一行行加載的效果,這種格式的JPEG沒(méi)有什么優(yōu)點(diǎn),因此,一般都推薦使用Progressive JPEG。

Progressive JPEG


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

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


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


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

1、PhotoShop

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

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

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

2、Linux

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

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

3、PHP

使用 imageinterlace 和 imagejpeg 函數(shù)我們可以輕松解決轉(zhuǎn)換問(wè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)頁(yè)名稱:利用JPEG怎么提升用戶的體驗(yàn)度-創(chuàng)新互聯(lián)
本文鏈接:http://muchs.cn/article20/hecco.html

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

廣告

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

微信小程序開(kāi)發(fā)