Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲春色第一页,日韩性视频网站,久久精品国产线看观看亚洲

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          vue可以把視頻變成gif

          vue可以把視頻變成gif

          ue.js 是一個用于構建用戶界面的漸進式 JavaScript 框架。它允許開發人員使用組件化的方式來構建復雜的應用程序。Vue.js 提供了很多有用的功能,其中之一就是可以將視頻轉換為 GIF。

          要將視頻轉換為 GIF,我們可以使用 Vue.js 的一些插件和庫。其中一個常用的插件是 gifshot,它是一個用于在瀏覽器中創建 GIF 的庫。

          首先,我們需要在 Vue.js 項目中安裝 gifshot 插件。可以使用 npm 或 yarn 來安裝:

          ```

          npm install gifshot

          ```

          或者

          ```

          yarn add gifshot

          ```

          安裝完成后,我們可以在 Vue.js 組件中引入 gifshot:

          ```javascript

          import gifshot from 'gifshot';

          ```

          接下來,我們可以使用 gifshot 的 API 來將視頻轉換為 GIF。首先,我們需要獲取視頻的 URL 或 Blob 對象。可以使用 `<video>` 元素來播放視頻,并在用戶選擇視頻后獲取其 URL 或 Blob 對象。

          ```html

          <template>

          <div>

          <input type="file" @change="handleFileChange" accept="video/*">

          <video ref="videoPlayer" controls></video>

          <button @click="convertToGif">Convert to GIF</button>

          < img ref="gifImage" v-if="gifData" :src="gifData" alt="Converted GIF">

          </div>

          </template>

          ```

          在 Vue.js 組件中,我們可以定義一個 `handleFileChange` 方法來處理用戶選擇視頻文件的事件。在該方法中,我們可以使用 `URL.createObjectURL` 方法來獲取視頻的 URL,并將其設置為 `<video>` 元素的 `src` 屬性。

          ```javascript

          methods: {

          handleFileChange(event) {

          const file=event.target.files[0];

          const videoPlayer=this.$refs.videoPlayer;

          videoPlayer.src=URL.createObjectURL(file);

          },

          convertToGif() {

          const videoPlayer=this.$refs.videoPlayer;

          const gifImage=this.$refs.gifImage;


          gifshot.createGIF({

          video: videoPlayer,

          gifWidth: 400,

          gifHeight: 300

          }, function(obj) {

          if (!obj.error) {

          gifImage.src=obj.image;

          }

          });

          }

          }

          ```

          在 `convertToGif` 方法中,我們使用 gifshot 的 `createGIF` 方法來將視頻轉換為 GIF。我們可以通過設置 `video` 屬性來指定要轉換的視頻元素,通過設置 `gifWidth` 和 `gifHeight` 屬性來指定 GIF 的尺寸。

          最后,我們可以在 `<img>` 元素中使用 `v-if` 指令來顯示轉換后的 GIF 圖像。我們將 `gifData` 綁定到 `src` 屬性,以便在轉換完成后更新圖像。

          這樣,我們就可以使用 Vue.js 和 gifshot 插件將視頻轉換為 GIF。只需選擇視頻文件,然后點擊按鈕即可將視頻轉換為 GIF,并在頁面上顯示轉換后的 GIF 圖像。

          一、項目背景】

          生活中經常會見到很多gif圖,那么gif圖到底是什么?GIF是一種位圖。簡單來說就是通過每一張張靜圖,通過控制它的關鍵幀,從而達到靜態圖動起來的效果。

          這種GIF圖的效果,也可以用html+CSS3結合來做。

          【二、項目目標】

          完成GIF圖的制作。

          【三、項目分析】

          1、分析圖片。打開其中一張圖。

          2、可以看到這張圖有45張不一樣動作的靜態圖合成。有點擊屬性。如圖所示:

          看到這張照片是7020*156,一共有45幀。高度不變,寬度7020/45幀,就可以把每一幀的內容顯示出來。

          【四、項目準備】

          1、圖片:準備自己的喜歡的GIF靜態長圖,保存在文件夾。

          2、軟件:Dreamweaver。

          【五、項目實現】

          1、創建div 存放圖片和文件,添加class屬性。

          <body>
            <div class="box">
            <div class="box2">
            </div>  
            </div>
          </body>

          2、添加CSS樣式

          1) 設置box的寬、高、位置、背景顏色。

          .box{
                width: 300px;
                height: 300px;
                background: #ccc;
                position: absolute;
                left: 0px;
                top: 0;
              }

          2)加載圖片,設置寬、高,-webkit-animation動畫效果。

          .box2{
                  width: 156px;
                  height: 156px;
                  background: url("fox45.png");
                   -webkit-animation:aa 3s steps(45) infinite ;
                }
             @-webkit-keyframes aa{
            
            
                100%{
               background-position: -7020px 0;
                }
               }

          CSS3 animation屬性中的steps實現GIF動圖(逐幀動畫)

          steps(45)表示讓整個動畫在45個關鍵幀之間切換。這個松鼠的圖片中

          包含了45幀,所以這里設置了45。而且我們的動畫時長是3s,也就是說每一幀

          停留1s,這就和普通的GIF動圖達到了一樣的效果。

          【六、效果展示】

          1、點擊F12運行到瀏覽器。

          2、點擊圖片,效果如下。

          【七、總結】

          1、本項目,就gif圖遇到的一些難點進行了分析及提供解決方案。

          2、html+css也可以做出網站頁面的效果,在上面顯示圖片標題的地方不能用絕對定位,于是用的relative定位,這個地方是布局的核心部分。

          3、按照操作步驟,自己嘗試去做。自己實現的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。

          4、需要本文源碼的小伙伴,后臺回復“GIF圖”四個字,即可獲取。

          ****看完本文有收獲?請轉發分享給更多的人****

          IT共享之家

          入群請在微信后臺回復【入群】


          想學習更多Python網絡爬蟲與數據挖掘知識,可前往專業網站:http://pdcfighting.com/

          周在給學生講授JavaScript課程中setInterval方法時,想到了我們在網上看到的各類GIF動圖比較有意思,就將其引入到教學中,教學內容設計如果通過HTML5與JavaScript實現網頁類似GIF效果的動態圖。于是在網上搜集了部分gif格式動圖,將每一個Gif動圖分解為一組jpg格式圖片,再采用setInterval與html5 Canvas進行動畫的實現。通過學習可以讓學生進一步了解canvas動畫實現的過程與原理。并將其發布到頭條,也希望對有興趣的初學者了解HTML5 Canvas等有所幫助。圖片分組圖片素材如下:

          素材一

          實現動畫的素材我們已經給出,主要通過gif動圖導出一組圖片,下面對html5動畫實現過程進行簡單說明。


          基本思路

          實現其動畫的基本思路是通過HTML5提供的canvas元素進行圖片的繪制與展示,借助setInterval方法實現間隔指定時間調用新的圖片實現重新繪圖。其中繪圖主要使用drawImage方法進行繪圖,最終通過圖片依次重繪實現動畫效果。具體實現過程如下:

          HTML5 Canvas設置

          在頁面body部分添加Canva標簽,設置其id屬性為canv,寬度為600,高度為400,編寫代碼描述如下圖:

          添加畫布元素

          canvas瀏覽效果

          加載圖片資源

          使用Canvas借助JavaScript提供的drawImage方法進行繪圖,需要提供要繪制的圖片資源即繪圖的坐標位置。該方法原型如下:

          drawImage方法原型

          因此我們需要加載圖片資源,本例由于需要調用多個img實現定時不同圖片的繪制,因此我們可以使用數組存儲所加載的圖片資源。本例圖片數量為14,因此我們數組長度為14。使用素組存儲圖片實現代碼如下:

          加載圖片資源代碼

          定義頁面加載事件onload

          本例設計在頁面加載時自動播放動畫,因此需要在JavaScript腳本中添加頁面onload事件,在事件中編寫繪圖相關代碼,主要代碼包括獲取畫布canva與實例化繪圖對象context。部分代碼描述如下:

          onload事件及繪圖初始化

          使用setInterval實現動畫

          使用setInterval方法實現動畫主要需要定義回調函數與回調函數觸發執行的周期,本例中我們使用匿名函數作為回調函數,觸發周期設置為100毫秒。setInterval函數定義如下:

          setInterval函數

          在定義完函數之后可在其匿名函數函數體部分寫入繪圖方法dramImage(),實現周期調用不同圖片資源進行繪圖,最終展示出動畫效果。為了保證循環調用14張圖片,我們需要設置一計數全局變量i,由于我們圖片采用數組存儲,下標為數組,且從0-13進行編號,因此當計數值小于13時自動+1,指向下一數組下標,當為13時,設置計數值為0,回到數組第一元素,最終實現數組訪問下標的循環。setInterval實現完整代碼如下:

          setInterval完整代碼

          實現效果展示


          HTML動畫效果展示


          本頭條號長期關注編程資訊分享;編程課程、素材、代碼分享及編程培訓。如果您對以上方面有興趣或代碼錯誤、建議與意見,可以聯系作者,共同探討。期待大家關注!如需案例完整代碼請關注并私信,往期前端設計文章鏈接如下:

          1. 前端設計-JavaScript中的值、引用傳遞與垃圾回收
          2. 前端設計-JavaScript美女拼圖游戲開發實例
          3. 前端設計- JavaScript驗證碼制作及實例分析
          4. 前端設計-Ajax技術及實例展示
          5. 前端設計-響應式頁面開發基礎
          6. Web開發前端、后端與全棧的區別是什么?

          主站蜘蛛池模板: 国产日韩精品一区二区在线观看| 色屁屁一区二区三区视频国产| 性无码一区二区三区在线观看| 精品国产精品久久一区免费式| 狠狠色婷婷久久一区二区| 国内精品无码一区二区三区| 麻豆一区二区免费播放网站| 国产精品免费一区二区三区四区| 无码av不卡一区二区三区| 97人妻无码一区二区精品免费| 亚洲熟妇av一区二区三区漫画| 午夜精品一区二区三区在线观看| 麻豆精品人妻一区二区三区蜜桃 | 亚洲AV无码一区二区三区牲色| 久久精品动漫一区二区三区| 中文无码精品一区二区三区| 国产精品主播一区二区| 精品人妻少妇一区二区三区| 国产成人久久精品麻豆一区| 日韩毛片一区视频免费| 无码av不卡一区二区三区| 人妻无码一区二区三区| 亚洲性日韩精品国产一区二区| 国产福利电影一区二区三区,日韩伦理电影在线福 | 国产伦精品一区二区三区在线观看 | 精品无码中出一区二区| 精品一区二区三区中文| 丰满岳妇乱一区二区三区| 国产精品乱码一区二区三区| 日韩人妻无码一区二区三区| 亚洲V无码一区二区三区四区观看| 无码毛片视频一区二区本码| 精品深夜AV无码一区二区| 精品深夜AV无码一区二区| 中文字幕av人妻少妇一区二区| 精品国产高清自在线一区二区三区| 国产一区二区三区不卡在线观看| 亚洲国产成人久久综合一区77| 亚洲综合无码精品一区二区三区 | 久久AAAA片一区二区| 无码人妻一区二区三区在线视频 |