【问题标题】:Jquery image editor or add text over a image that I uploadedJquery 图像编辑器或在我上传的图像上添加文本
【发布时间】:2014-09-23 15:29:37
【问题描述】:

我正在寻找一些我找不到适合我要求的 jquery 实现。

我需要从我的电脑上传一张图片,并且能够像我一样更改背景颜色(我应该使用带有透明部分的 png 图片)。

我希望能够在我已经上传到浏览器的图像上添加一些我已经可以管理的图标和文本。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">

    <title>Untitled Document</title>
    <script src=
    "http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js" type=
    "text/javascript"></script>
    <script>
$(document).ready(function() {
        $("#color").change(function(){
            var clr = $(this).val();
            $("#bgcolor").css("background-color",clr);
        });
    });
         function showMyImage(fileInput) {
            var files = fileInput.files;
            for (var i = 0; i < files.length; i++) {           
                var file = files[i];
                var imageType = /image.*/;     
                if (!file.type.match(imageType)) {
                    continue;
                }           
                var img=document.getElementById("thumbnil");            
                img.file = file;    
                var reader = new FileReader();
                reader.onload = (function(aImg) { 
                    return function(e) { 
                        aImg.src = e.target.result; 
                    }; 
                })(img);
                reader.readAsDataURL(file);
            }    
        }
    </script>
    <style type="text/css">
.upload input{
      display: none;
    }

    .upload label{
      background: DarkSlateBlue;
      color: white;
      padding: 2px 10px;
    }

    #keyConfContainer {
        height: 300px;
        width: 487px;
        border: 1px solid #000;
    }
    #keyconfTittle {
        text-transform: uppercase;
        height: 25px;
        width: 487px;
    }
    #keycap {
        float: left;
        height: 243px;
        width: 243px;
        border: 1px solid #000;
    }
    #options {
        height: 25px;
        width: 242px;
        float: right;
    }
    #menu {
        float: right;
        height: 250px;
        width: 242px;
    }
    #keycapconf {
        float: right;
        height: 275px;
        width: 242px;
    }
    </style>
</head>

<body>
    <div id="keyConfContainer">
        <div id="keyconfTittle">
            Modify a keycap
        </div>


        <div id="keycap">
            <div class="upload">
                <label for="my-input">Upload your image</label> <input accept=
                "image/*" id="my-input" name="" onchange="showMyImage(this)"
                type="file">
            </div>
            <br>


            <div id="bgcolor"><img alt="" id="thumbnil" src="" style=
            "width:100%; margin-top:10px;">
            </div>
        </div>


        <div id="keycapconf">
            <div id="options">
            </div>


            <div id="menu">
                Blackground-color: <input id="color" type="color"><br>
                Clip art library: 
                <!-- implementar la ventana con las imagenes--><br>
                Upload your image:

                <form action="demo_form.asp">
                    <input accept="image/*" name="pic" type="file" value=
                    "Upload a image"> <input type="submit" value="Change">
                </form>
            </div>
        </div>
    </div>
</body>
</html>

这是 jsfidle 的链接,但图像上传不起作用。 http://jsfiddle.net/nmpj3qdp/

有什么想法吗?有没有适合我要求的 jquery?

【问题讨论】:

标签: javascript jquery html image editor


【解决方案1】:

这是更新后的fiddle

你需要添加

$('#imageFile').on('change', function(){ showMyImage(); });

并更改 showMyImage 中的行以获取文件

 var files = $('#imageFile').prop("files");

不过,我不确定您所说的替换颜色是什么意思。如果你想修改加载的图片有plugins你可以看看。

更新:

http://jsfiddle.net/nmpj3qdp/2/

这会更改图片所在 div 的背景颜色,但您无法在客户端更改 .png 的背景颜色,除非您找到插件。

【讨论】:

  • 我希望能够向我以这种方式上传的图像添加文本和图标。我已经管理了colorbackground,你可以上传一张透明的图片,在右边选择一个颜色,上传图片的背景会改变。编辑:并通过向图像添加文本和图标,我并不是说需要更改图像然后像那样上传。我只是希望能够在该图像上显示文本和图标。
  • @PatrickVibild 当您更新现有评论时,我没有收到通知,最好添加一条新评论。如果您想在加载的图像上显示透明图标图像,可以将其添加到“#keycap”中,就像您添加的标签一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-30
  • 1970-01-01
  • 2013-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多