茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    用canvas實(shí)現(xiàn)圖片濾鏡效果附演示
    來(lái)源:易賢網(wǎng) 閱讀:1634 次 日期:2016-07-12 14:09:29
    溫馨提示:易賢網(wǎng)小編為您整理了“用canvas實(shí)現(xiàn)圖片濾鏡效果附演示”,方便廣大網(wǎng)友查閱!

    這是一個(gè)很有意思的特效,模擬攝像機(jī)拍攝電視屏幕畫(huà)面時(shí)出現(xiàn)點(diǎn)狀顆粒的效果。顆粒的大小通過(guò)變換矩陣實(shí)現(xiàn),可以任意調(diào)節(jié),有興趣研究的朋友可以嘗試更多的效果,代碼沒(méi)有經(jīng)過(guò)優(yōu)化,只是一個(gè)粗糙的Demo,大家可以自行改進(jìn)。

    1.獲取圖像數(shù)據(jù)

    代碼如下:

    img.src = ’http://bloglaotou.duapp.com/wp-content/themes/frontopen2/tools/filter/image2.jpg’;

    canvas.width = img.width;

    canvas.height = img.height;

    var context = canvas.getContext(“2d”);

    context.drawImage(img, 0, 0);

    var canvasData = context.getImageData(0, 0, canvas.width, canvas.height);

    2.設(shè)置過(guò)濾矩陣

    代碼如下:

    var m_VideoType=0;

    var pattern=new Array();

    switch (m_VideoType)

    {

    case0://VIDEO_TYPE.VIDEO_STAGGERED:

    {

    pattern = [

    0, 1,

    0, 2,

    1, 2,

    1, 0,

    2, 0,

    2, 1,

    ];

    break;

    }

    case1://VIDEO_TYPE.VIDEO_TRIPED:

    {

    pattern = [

    0,

    1,

    2,

    ];

    break;

    }

    case2://VIDEO_TYPE.VIDEO_3X3:

    {

    pattern =

    [

    0, 1, 2,

    2, 0, 1,

    1, 2, 0,

    ];

    break;

    }

    default:

    {

    pattern =

    [

    0, 1, 2, 0, 0,

    1, 1, 1, 2, 0,

    0, 1, 2, 2, 2,

    0, 0, 1, 2, 0,

    0, 1, 1, 1, 2,

    2, 0, 1, 2, 2,

    0, 0, 0, 1, 2,

    2, 0, 1, 1, 1,

    2, 2, 0, 1, 2,

    2, 0, 0, 0, 1,

    1, 2, 0, 1, 1,

    2, 2, 2, 0, 1,

    1, 2, 0, 0, 0,

    1, 1, 2, 0, 1,

    1, 2, 2, 2, 0,

    ];

    break;

    }

    }

    var pattern_width = [ 2, 1, 3, 5 ];

    var pattern_height = [6, 3, 3, 15 ];

    3.獲取過(guò)濾數(shù)據(jù)

    代碼如下:

    for ( var x = 0; x < canvasData.width; x++) {

    for ( var y = 0; y < canvasData.height; y++) {

    // Index of the pixel in the array

    var idx = (x + y * canvasData.width) * 4;

    var r = canvasData.data[idx + 0];

    var g = canvasData.data[idx + 1];

    var b = canvasData.data[idx + 2];

    var nWidth = pattern_width[m_VideoType];

    var nHeight = pattern_height[m_VideoType];

    var index = nWidth * (y % nHeight) + (x % nWidth);

    index = pattern[index];

    if (index == 0)

    var r = fclamp0255(2 * r);

    if (index == 1)

    var g = fclamp0255(2 * g);

    if (index == 2)

    var b = fclamp0255(2 * b);

    // assign gray scale value

    canvasData.data[idx + 0] = r; // Red channel

    canvasData.data[idx + 1] = g; // Green channel

    canvasData.data[idx + 2] = b; // Blue channel

    canvasData.data[idx + 3] = 255; // Alpha channel

    // 加上黑色的邊框

    if(x < 8 || y < 8 || x > (canvasData.width - 8) || y > (canvasData.height - 8))

    {

    canvasData.data[idx + 0] = 0;

    canvasData.data[idx + 1] = 0;

    canvasData.data[idx + 2] = 0;

    }

    }

    }

    4.寫(xiě)入過(guò)濾后的數(shù)據(jù)

    代碼如下:

    context.putImageData(canvasData, 0, 0);

    更多信息請(qǐng)查看網(wǎng)頁(yè)制作
    易賢網(wǎng)手機(jī)網(wǎng)站地址:用canvas實(shí)現(xiàn)圖片濾鏡效果附演示
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!
    相關(guān)閱讀網(wǎng)頁(yè)制作

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)