首页前端开发HTMLHTML5 Canvas图像模糊如何解决

HTML5 Canvas图像模糊如何解决

时间2024-01-23 05:15:04发布访客分类HTML浏览1128
导读:收集整理的这篇文章主要介绍了HTML5 Canvas图像模糊如何解决,觉得挺不错的,现在分享给大家,也给大家做个参考。本文主要和大家介绍HTML5 canvas图像模糊完美解决办法,需要的朋友可以参考下,希望能帮助到大家。1、最近在用h5的...
收集整理的这篇文章主要介绍了HTML5 Canvas图像模糊如何解决,觉得挺不错的,现在分享给大家,也给大家做个参考。本文主要和大家介绍HTML5 canvas图像模糊完美解决办法,需要的朋友可以参考下,希望能帮助到大家。

1、最近在用h5的canvas画动画,发现图像特别模糊。后来终于找到罪魁祸首是

meta name="viewport" content="width=device-width,inITial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    

这个代码,因为这行代码进行了伸缩

2、模糊图像的效果:

3、将压缩去掉后的效果

可以将代码改成


!DOCTYPE htML>
    html>
    head>
        meta charset="utf-8" />
        meta name="viewport" content="user-scalable=no" />
        title>
    赛事详细页/title>
        script src="js/rem.js" type="text/javascript" charset="utf-8">
    /script>
        link rel="stylesheet" type="text/css" href="css/m_reset.css" />
        link rel="stylesheet" type="text/css" href="css/gameListsNew.css" />
        link href="css/mask.css" rel="stylesheet" />
    /head>
    body>
        p class="tipMask">
            p class="tipBox">
                img src="img/faileTip.png" class="tipsImg" />
                p class="fileBTn">
                    img src="img/fileBtn.png" />
                    span class="tryAgain">
    再试一次/span>
                /p>
            /p>
        /p>
        p>
            img src="img/whiteBack.png" class="titleimg" />
            p class="bgEvent" id="contentbody">
                p id="eventDetail" v-cloak>
                    !--标题-->
                    p class="detailevent">
                        p class="titlevs">
                            img class="teamFlagLOGo" onerror="nofind(this);
    " :src="'img/teamlogonew/'+eventDetail.HomeTeamiD+'.png'" />
                            p class="countryName">
                            {
{
eventDetail.HomeTeamName}
}
                            /p>
                        /p>
                        p class="titlevs" style="padding-top:0.3rem ;
    ">
                            p>
                                !--未开赛-->
                                !--p class="theWorldCup">
    世界杯/p>
    -->
                                p class="theGameNowDataTime">
{
{
eventDetail.TimeFormat }
}
    /p>
                                p class="gameBeginTime">
{
{
getScoreOrVs(eventDetail.HomeTeamScore,eventDetail.AwayTeamScore)}
}
    /p>
                            /p>
                            !--开赛时长-->
                            !--p>
                                p>
    73:40/p>
                            /p>
    -->
                        /p>
                        p class="titlevs">
                            img class="teamFlagLogo" onerror="nofind(this);
    "                             :src="'img/teamlogonew/'+eventDetail.AwayTeamID+'.png'" />
                            p class="countryName">
                            {
{
eventDetail.AwayTeamName}
}
                            /p>
                        /p>
                    /p>
                    p id="ordersuccess" class="ordersuccess">
                        p style="text-align:right;
    padding-top:0.2rem;
    padding-left:0.2rem;
    ">
                            img src="img/ordersuccess/close.png" style="width:0.45rem;
    height:0.45rem;
    " id="closesuccess" onclick="closesuccess();
    " />
                        /p>
                        p class="teamname">
                            p class="teamnameitem">
    p class="teamnameitemtop">
{
{
eventDetail.HomeTeamName}
}
    /p>
    br />
    p class="teamnameitembottom">
    HOME/p>
    /p>
                            p class="teamnameitem ">
    p class="teamnameitemmiddle">
    VS/p>
    /p>
                            p class="teamnameitem">
    p class="teamnameitemtop">
{
{
eventDetail.AwayTeamName}
}
    /p>
    br />
    p class="teamnameitembottom">
    AWAY/p>
    /p>
                        /p>
                        p class="teamdetail">
                            p class="teamdate">
    span>
{
{
eventDetail.COMpetitionName}
}
    /span>
    span>
    //span>
    span>
{
{
eventDetail.DateFormat}
}
    /span>
    /p>
                            p class="teamplaysselection">
                                table style="width:100%;
    text-align:left;
    height:100%;
    ">
                                    tr>
                                        td class="teamplaysselectiontop" style="width:50%;
    ">
    玩法/td>
                                        td class="teamplaysselectiontop" style="width:50%;
    ">
    选项/td>
                                    /tr>
                                    tr>
                                        td class="teamplaysselectionbottom" style="width:50%;
    " id="rulename">
    Match Odds/td>
                                        td class="teamplaysselectionbottom" style="width:50%;
    " id="selectionname">
    Home/td>
                                    /tr>
                                /table>
                            /p>
                            p class="teamwinmoney">
                                table style="width:90%;
    text-align:left;
    height:100%;
    ">
                                    tr>
                                        td class="teamwinmoneytop" style="width:50%;
    ">
                                            本金                                    /td>
                                        td class="teamwinmoneytop" style="width:50%;
    ">
                                            赔率                                    /td>
                                        td class="teamwinmoneytop" style="width:50%;
    ">
                                            预赢                                    /td>
                                    /tr>
                                    tr>
                                        td class="teamwinmoneybottom" style="width:50%;
    " id="betmoneysuc">
    1000/td>
                                        td class="teamwinmoneybottom" style="width:50%;
    " id="betodds">
    12.54/td>
                                        td class="teamwinmoneybottom" style="width:50%;
    " id="betwin">
    12540/td>
                                    /tr>
                                /table>
                            /p>
                        /p>
                    /p>
                /p>
                p>
                    p class="square" id="square">
                        canvas id="courtCaseNew" width="980" height="765">
    /canvas>
                    /p>
                    img src="img/ballliTTLe.png" style="width:20px;
    height:20px;
    display:none;
    " id="imgballNew" />
                /p>
                p class="middlechat">
                    p class="middleitem" id="jcc">
                        p class="tabActive">
    竞猜场/p>
                    /p>
                    p class="middleitem" id="jcjl">
                        p class="tabcommon">
    竞猜记录/p>
                    /p>
                    p class="middleitem" id="sssj">
                        p class="tabCommon">
    赛事事件/p>
                    /p>
                    p class="middleitem" id="jstj">
                        p class="tabCommon">
    技术统计/p>
                    /p>
                /p>
                p class="downChangrTab quizGames" style="display: block;
    ">
                    p id="ruleTypeItems" v-cloak>
                        !--胜平负-->
                        p class="diffPlaysTetx" v-for="(item,index) in eventDetail.Market" v-if="item.RuleType==100">
                            span class="speciesName">
    赛果/span>
                            span class="rotary" v-if="item.state!=1">
    (已封盘)/span>
                            span class="speciesExp">
    猜90分钟(含补时)两队的比赛结果/span>
                        /p>
                        p v-for="(item,index) in eventDetail.Market" v-if="item.RuleType==100" id="result" name="selectionItems" class="result">
                            p v-bind:class="[(select.BackOdds1.01 || item.State!=1) ? 'resutitemGray commonBorderGray':'resutitem commonBorder']" v-for="(select,index) in item.Selection"                             v-on:click="select.BackOdds>
    =1.01 &
    &
    clickFun($event,item.State,select.BackOdds,item.MarketId,select.SelectionId,'赛果',select.SelectionName);
    " name="itemSelection">
                                p class="@R_753_2406@quLose" v-bind:name="'item'+item.MarketId">
{
{
select.SelectionName}
}
    /p>
                                p class="winEquLoseOdds " v-bind:name="'item'+item.MarketId">
                                    span v-bind:id="item.MarketId+select.SelectionId" v-bind:maxlimit="select.MaxStakeLimit">
{
{
select.BackOdds}
}
    /span>
                                    img src="img/upIng.png" style="width:0.2rem;
    display:none;
    " v-bind:id="'redOne'+item.MarketId+select.SelectionId" />
                                    img src="img/downIng.png" style="width:0.2rem;
    display:none;
    " v-bind:id="'greenOne'+item.MarketId+select.SelectionId" />
                                /p>
                            /p>
                        /p>
                        !--单双-->
                        p class="diffPlaysTetx" v-for="(item,index) in eventDetail.Market" v-if="item.RuleType==130">
                            span class="speciesName">
    单双/span>
                            span class="rotary" v-if="item.State!=1">
    (已封盘)/span>
                            span class="speciesExp">
    猜90分钟(含补时)比赛总进球的单双/span>
                        /p>
                        p id="oddeven" v-for="(item,index) in eventDetail.Market" v-if="item.RuleType==130" name="selectionItems" class="oddeven">
                            p v-bind:class="[(select.BackOdds1.01 || item.State!=1) ? 'oddevenitemGray commonBorderGray':'oddevenitem commonBorder']" v-for="(select,index) in item.Selection" v-on:click="select.BackOdds>
    =1.01 &
    &
    clickFun($event,item.State,select.BackOdds,item.MarketId,select.SelectionId,'单双',select.SelectionName)" name="itemSelection">
                                p class="winEquLose" v-bind:name="'item'+item.MarketId" v-bind:id="'selectionname'+item.MarketId+select.SelectionId">
{
{
select.SelectionName}
}
    /p>
                                p class="winEquLoseOdds" v-bind:name="'item'+item.MarketId">
                                    span v-bind:id="item.MarketId+select.SelectionId" v-bind:maxlimit="select.MaxStakeLimit">
{
{
select.BackOdds}
}
    /span>
                                    img src="img/upIng.png" style="width:0.2rem;
    display:none;
    " v-bind:id="'redOne'+item.MarketId+select.SelectionId" />
                                    img src="img/downIng.png" style="width:0.2rem;
    display:none;
    " v-bind:id="'greenOne'+item.MarketId+select.SelectionId" />
                                /p>
                            /p>
                        /p>
                        !--总进球-->
                        p class="diffPlaysTetx" v-for="(item,index) in eventDetail.Market" v-if="item.RuleType==410">
                            span class="speciesName">
    总进球 /span>
                            span class="rotary" v-if="item.State!=1">
    (已封盘)/span>
                            span class="speciesExp">
    猜90分钟(含补时)比赛总进球的数 /span>
                        /p>
                        p id="totalGoals" v-for="(item,index) in eventDetail.Market" v-if="item.RuleType==410" name="selectionItems" class="totalGoals">
                            p v-bind:class="[(select.BackOdds1.01 || item.State!=1) ? 'totalGoalitemGray commonBorderGray':'totalGoalitem commonBorder']" v-for="(select,index) in item.Selection" v-on:click="select.BackOdds>
    =1.01 &
    &
    clickFun($event,item.State,select.BackOdds,item.MarketId,select.SelectionId,'总进球',select.SelectionName)" name="itemSelection">
                                p class="winEquLose" v-bind:name="'item'+item.MarketId" v-bind:id="'selectionname'+item.MarketId+select.SelectionId">
{
{
select.SelectionName}
}
    /p>
                                p class="winEquLoseOdds" v-bind:name="'item'+item.MarketId">
                                    span v-bind:id="item.MarketId+select.SelectionId" v-bind:maxlimit="select.MaxStakeLimit">
{
{
select.BackOdds}
}
    /span>
                                    img src="img/upIng.png" style="width:0.2rem;
    display:none;
    " v-bind:id="'redOne'+item.MarketId+select.SelectionId" />
                                    img src="img/downIng.png" style="width:0.2rem;
    display:none;
    " v-bind:id="'greenOne'+item.MarketId+select.SelectionId" />
                                /p>
                            /p>
                        /p>
                        !--全场比分-->
                        p class="diffPlaysTetx" v-for="(item,index) in eventDetail.Market" v-if="item.RuleType==140">
                            span class="speciesName">
    全场比分/span>
                            span class="rotary" v-if="item.State!=1">
    (已封盘)/span>
                            span class="speciesExp">
    猜90分钟(含补时)全场比分/span>
                        /p>
                        p id="correctScoreHome" v-for="(item,index) in eventDetail.Market" v-if="item.RuleType==140" name="selectionItems" class="correctScoreHomeAway">
                            p v-bind:class="[(select.BackOdds1.01 || item.State!=1) ? 'correctScoreitemGray commonBorderGray':'correctScoreitem commonBorder']" v-for="(select,index) in item.Selection" v-on:click="select.BackOdds>
    =1.01 &
    &
    clickFun($event,item.State,select.BackOdds,item.MarketId,select.SelectionId,'全场比分',select.SelectionName)" name="itemSelection">
                                p class="winEquLose" v-bind:name="'item'+item.MarketId" v-bind:id="'selectionname'+item.MarketId+select.SelectionId">
{
{
select.SelectionName}
}
    /p>
                                p class="winEquLoseOdds" v-bind:name="'item'+item.MarketId">
                                    span v-bind:id="item.MarketId+select.SelectionId" v-bind:maxlimit="select.MaxStakeLimit">
{
{
select.BackOdds}
}
    /span>
                                    img src="img/upIng.png" style="width:0.2rem;
    display:none;
    " v-bind:id="'redOne'+item.MarketId+select.SelectionId" />
                                    img src="img/downIng.png" style="width:0.2rem;
    display:none;
    " v-bind:id="'greenOne'+item.MarketId+select.SelectionId" />
                                /p>
                            /p>
                        /p>
                        p class="downImg" onclick="clickImg()">
                            img src="img/toDown.png" />
                        /p>
                        !--下一进球-->
                        p class="diffPlaysTetx" v-for="(item,index) in eventDetail.Market" v-if="item.RuleType==350">
                            span class="speciesName">
    下一进球/span>
                            span class="rotary" v-if="item.State!=1">
    (已封盘)/span>
                            span class="speciesExp">
    猜90分钟(含补时)下一进球的球队/span>
                        /p>
                        p id="nextgoal" v-for="(item,index) in eventDetail.Market" v-if="item.RuleType==350" name="selectionItems" class="result">
                            p v-bind:class="[(select.BackOdds1.01 || item.State!=1) ? 'resutitemGray commonBorderGray':'resutitem commonBorder']" v-for="(select,index) in item.Selection" v-on:click="select.BackOdds>
    =1.01 &
    &
    clickFun($event,item.State,select.BackOdds,item.MarketId,select.SelectionId,'下一进球',select.SelectionName)" name="itemSelection">
                                p class="winEquLose" v-bind:name="'item'+item.MarketId" v-bind:id="'selectionname'+item.MarketId+select.SelectionId">
{
{
select.SelectionName}
}
    /p>
                                p class="winEquLoseOdds" v-bind:name="'item'+item.MarketId">
                                    span v-bind:id="item.MarketId+select.SelectionId" v-bind:maxlimit="select.MaxStakeLimit">
{
{
select.BackOdds}
}
    /span>
                                    img src="img/upIng.png" style="width:0.2rem;
    display:none;
    " v-bind:id="'redOne'+item.MarketId+select.SelectionId" />
                                    img src="img/downIng.png" style="width:0.2rem;
    display:none;
    " v-bind:id="'greenOne'+item.MarketId+select.SelectionId" />
                                /p>
                            /p>
                            p class="" style="width: 100%;
    height:0.45rem;
    ">
    /p>
                        /p>
                        p class="perchp" style="width: 100%;
    height:3rem;
    ">
    /p>
                    /p>
                /p>
                !--竞猜记录-->
                p class="downChangrTab guessRecord">
                    p class="hide-body" id="dialogorders">
                        p class="tableNameGuess">
                            li>
    玩法/li>
                            li>
    选项/li>
                            li>
    赔率/li>
                            li>
    本金/li>
                            li>
    结果/li>
                        /p>
                        ul style="background:#FFFFFF;
    height:4.79rem;
    overflow: scroll;
    ">
                            p class="guessedLists" id="contentOrders" v-for="(item,index) in orders">
                                li>
                                {
{
item.MarketName}
}
                                /li>
                                li>
                                {
{
item.SelectionName}
}
                                /li>
                                li>
                                {
{
item.FillPRice}
}
                                /li>
                                li>
                                {
{
item.FillAmount}
}
                                /li>
                                li>
                                    p v-if="item.Status == '0'">
     待确认/p>
                                    p v-else-if="item.Status == '1'">
    订单正常/p>
                                    p v-else-if="item.Status == '2'">
{
{
item.NetReturn}
}
    /p>
                                    p v-else-if="item.Status == '3'">
    订单已被取消/p>
                                    p v-else-if="item.Status == '4'">
    订单无效/p>
                                    p v-else="item.Status == '5'">
    订单被拒绝,投注延迟期间发生重要事件等原因/p>
                                /li>
                            /p>
                        /ul>
                    /p>
                /p>
                !--赛事事件-->
                p class="downChangrTab" style="display: none;
    " v-if="">
                    p class="login-body" id="contentCases">
                        table class="whatHappen" v-if="cases.length >
    0">
                            tr>
                                td>
    /td>
                                td class="happenedMiddle">
                                    p class="happenedMiddle_top" style="margin-top: 0.4rem;
    ">
    /p>
                                /td>
                                td>
    /td>
                            /tr>
                        /table>
                        table class="whatHappen" style="" v-for="(item,index) in cases" border="0" cellspacing="0" cellpadding="0">
                            tr>
                                td>
    /td>
                                td class="happenedMiddle">
                                    p class="happenedMiddle_line">
    /p>
                                /td>
                                td>
    /td>
                            /tr>
                            tr v-if="item.CaseDescription.indexOf('主')>
    -1">
                                td class="eventsHappendLeft_things">
                                    p class="eventsText">
                                        p class="eventsTextLeft_time">
{
{
item.CaSEMinutes}
}
    '/p>
                                        p class="eventsTextLeft_Country">
{
{
item.CaseDescription}
}
    /p>
                                    /p>
                                /td>
                                td class="happenedMiddle">
                                    p class="eventsHappend_img">
                                        img :src="GetMatchEventImg(item.CaseDescription)" />
                                    /p>
                                /td>
                                td>
    /td>
                            /tr>
                            tr v-if="item.CaseDescription.indexOf('客')>
    -1">
                                td>
    /td>
                                td class="happenedMiddle">
                                    p class="eventsHappend_img">
                                        img :src="GetMatchEventImg(item.CaseDescription)" />
                                    /p>
                                /td>
                                td class="eventsHappendRight_things">
                                    p class="eventsText">
                                        p class="eventsTextRight_Country">
{
{
item.CaseDescription}
}
    /p>
                                        p class="eventsTextRight_time">
{
{
item.CaseMinutes}
}
    '/p>
                                    /p>
                                /td>
                            /tr>
                            tr v-if="item.CaseDescription.indexOf('主')0 &
    &
     item.CaseDescription.indexOf('主')0">
                                td>
    /td>
                                td>
                                    a class="ti tlefoc">
{
{
item.CaseMinutes}
}
    '/a>
                                    a class="titlefoc">
{
{
item.DesChina}
}
    /a>
                                /td>
                                td>
    /td>
                            /tr>
                        /table>
                        table class="whatHappen" v-if="cases.length >
    0">
                            tr>
                                td>
    /td>
                                td class="happenedMiddle">
                                    p class="happenedMiddle_line">
    /p>
                                    p class="happenedMiddle_top">
    /p>
                                /td>
                                td>
    /td>
                            /tr>
                        /table>
                        !--p style="width: 100%;
     height: 2.7rem;
    ">
    /p>
    -->
                    /p>
                /p>
                !--技术统计-->
                p class="downChangrTab" style="display: none;
    ">
                    p class="skillInfoGaryBg" id="stutsskillsData">
                        p class="skillInfo" v-for="(item, index) in skillsData">
                            li class="shotsOnTargets">
                                p class="shotsOnTargets_left">
                                    p class="skillsTextFonts">
{
{
item.AwayTeamValue}
}
    /p>
                                    p class="sotl_bg">
                                        p class="sotl_bgProgress">
    /p>
                                    /p>
                                /p>
                                p class="shotsOnTargets_middle">
                                    img :src="GetMatchStatsImage(item.StatsType)" />
                                    p class="shills_name">
{
{
item.StatsType}
}
    /p>
                                /p>
                                p class="shotsOnTargets_right">
                                    p class="skillsTextFonts">
{
{
item.HomeTeamValue}
}
    /p>
                                    p class="sotl_bg">
                                        p class="sotl_bgProgress">
    /p>
                                    /p>
                                /p>
                            /li>
                        /p>
                    /p>
                /p>
            /p>
            !--底部下单-->
            p class="buttomOrder">
                !--金额输入-->
                !--竞猜金额-->
                p class="aboutMoney">
                    input type="text" name="" id="betmoney" class="gussMoney" value="竞猜金额" placeholder="" readonly="readonly" v-model="gussMoney" />
                    img src="img/clearBetMoney.png" class="clearGussMoney" id="clearGussMoney" />
                    !--余额-->
                    span class="balanceMoney" id="minemoney">
    我的余额:888/span>
                    !--下注金额-->
                    p class="diffGussMoney" style="text-align:center;
    ">
                        ul>
                            li name="bettingmoney" class="difGuMonCom" val="100">
    +100/li>
                            li name="bettingmoney" class="difGuMonCom" val="500">
    +500/li>
                            li name="bettingmoney" class="difGuMonCom" val="1000">
    +1000/li>
                            li class="difGuMonCom" id="allin" style="line-height: 0.5rem;
    ">
                                p style="height: 0.3rem;
    ">
    All span style="margin-left: 0.05rem;
    ">
    in/span>
    /p>
                                p id="allinvalue" style="height: 0.3rem;
    ">
    100/p>
                            /li>
                        /ul>
                    /p>
                    !--确定-->
                    p class="subSure subSureRed" style="text-align:center;
    " onclick="CreateOrder();
    " id="subSure">
                        确定                /p>
                /p>
            /p>
            !--下单成功后遮罩层-->
            p id="overlay" class="overlay">
    /p>
        /p>
        p>
            img src="img/goal/goalball.png" />
            img src="img/goal/goal.png" />
            img src="img/goal/fireworks.png" />
        /p>
        script src="js/jquery-1.10.2.min.js" type="text/javascript" charset="utf-8">
    /script>
        script src="js/vue.min.js" type="text/javascript" charset="utf-8">
    /script>
        script src="js/common.js?ver=012902" type="text/javascript" charset="utf-8">
    /script>
        script src="js/jquery.cookie.min.js">
    /script>
        script src="js/mask.js?ver=012901">
    /script>
        script type="text/javascript" src="js/eventDetailsNew.js?ver=012908">
    /script>
        script src="../js/animation.js">
    /script>
    /body>
    /html>
    

相关推荐:

JavaScript实现图像模糊化的方法实例

JavaScript实现的图像模糊算法代码分享_javascript技巧

Canvas绘制图片模糊该如何解决?

以上就是HTML5 Canvas图像模糊如何解决的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: JS代码实现瀑布流插件下一篇:HTML5之type=file文件上传功能猜你在找的html5相关文章 关于移动端h5开发相关内容总结2022-05-17html5教程-学表单的第二天2018-12-10html5教程-HTML5浏览器支持2018-12-10html5教程-HTML5智能表单2018-12-10html5教程-微信H5使用resLoader实现加载页效果2018-12-10html5教程-day01-初级-JS0-热身运动JS入门教程2018-12-10html5教程-html5shiv.js和respond.min.js2018-12-10html5教程-不同浏览器对于html5 audio标签和音频格式的兼容性2018-12-10html5教程-使用Html5实现手风琴案例2018-12-10html5教程-html5笔记2018-12-10 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: HTML5 Canvas图像模糊如何解决
本文地址: https://pptw.com/jishu/583812.html
css3和H5实现波纹特效实例代码 H5移动端页面点击input重复弹出键盘的实现方法

游客 回复需填写必要信息