1. 程式人生 > >用gulp.spritesmith生成一倍和兩倍精靈圖教程

用gulp.spritesmith生成一倍和兩倍精靈圖教程

說明

1.本教程預設你已經安裝好gulp(不會的自行搜尋安裝教程)

2.src原始碼目錄,dist為線上正式目錄

專案結構為:


icons:存放一倍圖;[email protected]:存放二倍圖

安裝外掛 spritesmith

npm install --save-dev gulp.spritesmith

配置gulpfile.js

//引入gulp

var gulp=require("gulp"),

spritesmith=require('gulp.spritesmith');

//輸出原圖

gulp.task('sprite', function () {

return gulp.src('src/static/images/icons/*.png')

//需要合併的圖片地址

.pipe(spritesmith({

imgName: '/static/images/sprite.png',//儲存合併後圖片的地址

cssName: '/static/css/sprite.css',//儲存合併後對於css樣式的地址

//css background-image: url地址

imgPath: '/dist/static/images/sprite/sprite.png',

padding:5,//合併時兩個圖片的間距

algorithm: 'binary-tree',//排列方式

cssTemplate: function (data) {

var arr=[];

data.sprites.forEach(function

(sprite) {

arr.push(".icon-"+sprite.name+

"{"+

"background-image: url('"+sprite.escaped_image+"');"+

"background-position: "+sprite.px.offset_x+"px "+sprite.px.offset_y+"px;"+

"width:"+sprite.px.width+";"+

"height:"+sprite.px.height+";"+

"}\n");

});

return arr.join("");

}

}))

.pipe(gulp.dest('dist/'));

});

//輸出兩倍圖

gulp.task('sprite2x'

, function () {

return gulp.src('src/static/images/[email protected]/*.png')//需要合併的圖片地址

.pipe(spritesmith({

imgName: 'static/images/[email protected]', //儲存合併後圖片的地址

cssName: 'static/css/[email protected]',//儲存合併後對於css樣式的地址

imgPath: '/gulp/dist/static/images/[email protected]',//css background-image: url地址

padding:5,//合併時兩個圖片的間距

algorithm: 'binary-tree',//排列方式

cssTemplate: function (data) {

var arr=[];

data.sprites.forEach(function (sprite) {

console.log(sprite);

arr.push(".icon-"+sprite.name+

"{"+

"background-image: url('"+sprite.escaped_image+"');"+

"background-size:"+(parseFloat(sprite.px.total_width)/2)+"px "+(parseFloat(sprite.px.total_height)/2)+"px;"+

"background-position: "+(parseFloat(sprite.px.offset_x)/2)+"px "+(parseFloat(sprite.px.offset_y)/2)+"px;"+

"width:"+(parseFloat(sprite.px.width)/2)+"px;"+

"height:"+(parseFloat(sprite.px.height)/2)+"px;"+

"}\n");

});

return arr.join("");

}

}))

.pipe(gulp.dest('dist/'));

});


執行gulp sprite2x 

生成移動端2倍精靈圖;

執行gulp sprite

生成一倍精靈圖

相關推薦

gulp.spritesmith生成精靈教程

說明1.本教程預設你已經安裝好gulp(不會的自行搜尋安裝教程)2.src原始碼目錄,dist為線上正式目錄專案結構為:icons:存放一倍圖;[email protected]:存放二倍圖安裝外掛 spritesmithnpm install --save-dev

Idea Maven自動生成帶有shbat啟動指令碼的java應用

java做web開發,導致很多人不知道使用Java如何開發普通的專案,這裡我們做個簡單的介紹。 java專案一般都是使用指令碼啟動,比如windows上的bat檔案和linux上的sh檔案,而要寫這些檔案常常需要花費不少精力,很多人肯能會改這種檔案,但是要憑空寫一個就比較費勁。現在有maven外掛幫

[LeetCode] 1-bit and 2-bit Characters 位字元

We have two special characters. The first character can be represented by one bit 0. The second character can be represented by two bits (10 or 11). Now

DOO-SABIN 細分正方體(2)利用半邊資料結構表示(次細分)

#include <windows.h> #include <math.h> #include <gl/GL.h> #include <GL/glut.h> //static const GLfloat ve

樹梅派應用7:樹莓派DIY臺專門拍Gif動的相機

樹莓派在喜歡DIY的朋友眼裡,是非常酷的東西,許多人都會利用樹莓派自己動手DIY出各種各樣有趣的技術。而現在又有人利用樹莓派製造出了一臺福庫Pix-E相機,而這款相機最有趣的地方就是可以直接拍攝出gif動態圖。 現在無論是朋友圈、公眾號還是微博,gif動態圖已經成為展示內

7.27 行內元素塊狀元素 * 精靈

sel 條件 square right fix padding shai 基本 垂直居中 # CSS回顧### CSS的使用* 元素的style屬性內* style標簽內* link引入外部的css文件 `<link rel="stylesheet" href=""&

敏捷史話():一半的時間做的事——Scrum之父Jeff Sutherland

  普通的人生大抵相似,傳奇的人生各有各的傳奇。Jeff就是這樣的傳奇人物,年近80的他從來沒有“廉頗老矣尚能飯否”的英雄遲暮,不久前還精神矍鑠地與好幾百名中國學生進行線上交流,積極回答中國粉絲關於Scrum的疑惑。 他在某個領域的成就很可能是很多人一輩子都難以望其項背的存在。 軍校和越戰 Je

使用session處理戶搜索後數據的上頁跳轉

sset 上一頁 ade 下拉 soc page arr cat 下拉列表 搜索語句界面: /*單一檢索:此處為一個下拉列表的檢索*/ if(isset($_POST[‘submit‘]) && $_POST[‘submit‘] == ‘點擊搜索‘) {

不允許(a+b)/2這種方式求個數的均值;如下程序在Linux32位集成開發環境中運行

left 定義 inf log post efi mage 技術 def #define MAX(a,b) ((a)>(b)?(a):(b)) #include<stdio.h> int main() { int a = 10; int

PHP -- TP5實現二維碼logo的生成與設定及路徑儲存等

本文利用TP5實現二維碼的生成與設定,logo的新增與設定。 1. 利用 composer 獲取 qr_code 外掛 composer require endroid/qr-code 我用的編譯器是PhpStorm ,所以在下面的Terminal中可以輸入以上命令即可。如下圖:

根據id在同一張表中查出條資料,並將這條資料“-”拼起來作為條資料返回

  area表 id areaname 25 雲南省 417 玉溪市   要求:在area表中根據id查出兩條資料,將這兩條資料用"-"拼起

陣列字串//至少是其他數字的最大數

在一個給定的陣列nums中,總是存在一個最大元素 。 查詢陣列中的最大元素是否至少是陣列中每個其他數字的兩倍。 如果是,則返回最大元素的索引,否則返回-1。 示例 1: 輸入: nums = [3, 6, 1, 0] 輸出: 1 解釋: 6是最大的整數, 對於陣列中的其他整數, 6大

四階魔方三階魔方公式時,個特殊情況處理方式(頂面十字、最後步)

四階魔方的玩法比較簡單的,就是把他變成三階魔方,然後用三階魔方公式還原: 1、先按照面與面的對應關係,把6個面的中心4個塊拼好。因為四階魔方面與面的對應不是固定的,所以要看角塊的顏色分佈,來判斷面與面對應關係(比如一個角塊顏色是紅、綠、黃,那麼這三個顏色肯定是彼此相鄰的,不會是對立面)。還原結果

dlib實現人臉識別()生成描述檔案標籤檔案

#include <iostream> #include <dlib/dnn.h> #include <dlib/data_io.h> #include <dlib/image_processing.h> #include <dlib/gui

陣列(隨機生成維陣列),二維陣列的概念題目設計(利用二維陣列 :任意給定分數去計算科目人均平均分)

1 //陣列間的關係arr[]中的數字為幾,[]內就有幾個數 2 //{ }內的數是從0開始,如需要列印應從0開數 3 如{2,6,9,8,7}列印arr[4]就是7 4 #include <stdio.h> 5 #include <stdlib.h> 6 int

【leetcode陣列字串】 至少是其他數字的最大數

在一個給定的陣列nums中,總是存在一個最大元素 。 查詢陣列中的最大元素是否至少是陣列中每個其他數字的兩倍。 如果是,則返回最大元素的索引,否則返回-1。 示例 1: 輸入: nums = [3, 6, 1, 0] 輸出: 1 解釋: 6是最大的整數, 對於陣列中的其他整數, 6大

MyEclipse自動生成hibernate對映檔案實體類

建web工程,使用Hibernate的時候,在工程裡一個一個建立實體類和對映檔案太麻煩,特別是大專案,好幾百張表,每個表跟每個表的對應關係很負責,一張表中可能有超級多的欄位,浪費時間,還容易出錯! 建立完成後還要將一個個的對映檔案配置到hibernate.cfg.xml中,

MyEclipse自動生成Hibernate對映檔案實體類(Javabean)

做web專案,使用SSH框架時,資料庫中許多的表都需要在專案中建立一個實體類和對映檔案,如果專案中資料表太多,一個一個在專案中建立,肯定是非常浪費時間的,有時候還會寫錯。其實,用MyEclipse可以直接生成資料庫中所有資料表的對映檔案和實體類,簡單快捷。 資

臺電腦臺電腦的配置

先開啟模擬器,拖出一臺2811類的路由器跟兩臺pc,並有序的排列起來,如下圖所示:   用線纜將三臺網路裝置連線起來,如下圖所示:

KEIL / MDK生成BIN檔案的種方式,直接複製就能

在After Build/Rebuild選項卡中,勾選 "Run # 1",在後面輸入框寫入bin檔案生成方式,如下 圖1 第一種方式:設定絕對路徑(個人實踐過,沒有成功,不知道為什麼) "D:\Program Files\MDK516\ARM\ARMCC\bin\