【问题标题】:add css 3 image filters to php将 css 3 图像过滤器添加到 php
【发布时间】:2016-04-11 18:32:53
【问题描述】:

我制作了一个网页,我上传(到数据库)并同时以最新上传的方式显示,就像任何社交网络一样。

我添加了一个“添加过滤器”按钮,单击它会打开一个新页面,我需要在其中显示与相应按钮和具有不同过滤器值的单选按钮关联的图像。我能够正确显示图像和按钮,但单击过滤器按钮时效果不适用。

首先,我在基本 HTML 上测试了按钮,一切都运行良好。但是当我在php中尝试时,效果没有得到应用。我知道原因,即我无法为 div id #myImg 编写正确的语法,在 HTML 中我们将其写为

<img id="myImg" src="cool1.jpg" />

但在 php 中我可以提供 id(我的意思是位置等属性已正确应用)但效果没有得到应用

这是我的代码

  <html>
<head><title>Play </title>
<head>
<meta name="viewport" content="width=device-width">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Img Filtr</title>
<link rel="stylesheet" type="text/css" href="/trystyle.css" />
<script type="text/javascript">


function click_position(obj)
{
change_position(obj.value)
}

function change_position(val)
{

    var s="demoDIV";        
        s="myImg ";
        s=s.trim();     
    document.getElementById(s).style.filter=val;        
        document.getElementById(s).style.WebkitFilter=val;      
var x="filter:<span id='enlargecssprop'>" + val + "</span>";
var y="img#myImg {<br>        ###CSSPROP###;<br>}<br>";
var z=y.replace("###CSSPROP###",x);     
}
</script>
<style> 
.playit {
    background-color:#ffffff;
  margin-top:1%;
   margin-left:55%;

float:left;     
font-family:Consolas,'Courier New', Courier, monospace;
}

    img#myImg {
    filter:none; 
    width:50%; 
    height:70%;
    line-height:200%; 
    margin-bottom:15%;
    position: absolute;
    margin: 15px;
    left:0;
}   

</style></head>
<body>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "databaseimage";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
 // Check connection
 if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
 } 
 if(isset($_POST["filter"]))
 {

$image = $_POST['imageID']; 
$sql = mysqli_query($conn,"SELECT url FROM images where      image_id='$image'");
$image = mysqli_fetch_assoc($sql);

     $image1= '<img src="data:image/jpeg;base64,'.base64_encode( $image['url']      ).'"  width="500" height="500" >';

 echo $image1;//how to add the myimg id to give effects
        echo "  <form class='playit' action='javascript:return false;'>
            Filter:<br><br>
            <input type='hidden' id='preselectedValue' value='none' />

                <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_1' value='none'/><label for='value_1'>none</label></div>

                <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_2' value='none'/><label for='value_2'>blur(5px)</label></div>                

                <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_3' value='none'/><label for='value_3'>contrast(200%)</label></div>

                <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_4' value='none'/><label for='value_1'><label for='value_4'>drop-shadow(8px 8px 10px red)</label></div>

                <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_5' value='none'/><label for='value_5'>grayscale(100%)</label></div>

                <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_6' value='none'/><label for='value_1'><label for='value_6'>hue-rotate(90deg)</label></div>

                <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_7' value='none'/><label for='value_1'><label for='value_7'>invert(100%)</label></div>

                <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_8' value='none'/><label for='value_1'><label for='value_8'>opacity(30%)</label></div>

                <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_9' value='none'/><label for='value_1'><label for='value_9'>saturate(8)</label></div>

                <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_10' value='none'/><label for='value_1'><label for='value_10'>sepia(100%)</label></div>

                <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_11' value='none'/><label for='value_1'><label for='value_11'>contrast(200%) brightness(150%)</label></div>

               <div class='radio'><input autocomplete='off' type='radio' name='radio_position' onclick=click_position(this) id='value_12' value='none'/><label for='value_1'><label for='value_12'>brightness(200%)</label></div>                   

            </form>";

 }
 ?>
 </body>
 </html>

我想我只需要正确的语法。

【问题讨论】:

  • 请不要编辑您的问题以包含新问题。而是创建一个新问题。

标签: php html css imagefilter


【解决方案1】:

我没有看到你在哪里设置了 ID。是否改变:

$image1= '<img src="data:image/jpeg;base64,'.base64_encode( $image['url']      ).'"  width="500" height="500" >';

$image1= '<img src="data:image/jpeg;base64,'.base64_encode( $image['url']      ).'"  width="500" height="500" id="myImg" >';

工作?

【讨论】:

  • 不,只有样式属性被应用,js fn 不能正常工作......
  • 我也试过像 dis echo "
    ''
    " dis 也以同样的方式工作,只应用样式属性,我读过关于 imagefilter等php的内置函数,如果可能的话,给我一个点击按钮的2个效果的例子,我会实现rest ....
  • @ShubhamAmbavale 你所有效果的值都设置为“none”,所以除非你把它改成实际效果,否则肯定什么都不会发生?
  • 天啊,我忘了更改它的值。我怎么能忘记更改 dis :( -_- 我会看到 n Rply ,,, :)
  • @Chirs 我已经编辑了这个问题,因为那是我的愚蠢错误,现在我可以提供效果,但我也想在单击保存按钮时将其存储到数据库中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-25
  • 1970-01-01
  • 2017-03-19
相关资源
最近更新 更多