gdljw 2016-09-13 02:20 采纳率: 0%
浏览 1554
已结题

watermarkjs上传图片水印问题

网上找了一个图片上传水印js插件,可以实现上传的图片,选择打水印位置 ,实时显示效果。但是提交保存到Amazon S3,求改成提交是用php保存到本地,还有选择那里,能不能选网络图片来打水印?

图片说明

例子代码:图片水印js

  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2016-09-13 03:32
    关注

    预览那种图片内容是base64的,直接获取img的src属性值(图片base64字符串)提交到php页面就行了,自己弄个上传按钮,点击就传递那个base64字符串,服务器端php解码下base64还原为图片保存设置响应头content-disposition为attachment输出图片2进制数据即可保存

    如果你要原始图片和水印。文件和水印位置传给php,调用php绘图类库绘制水印图片就行了

    还有一种办法就是不考虑兼容ie,只用firefox或者chrome,可以用download属性结合a设置href为图片base64即可实现保存图片。

    Amazon S3 Info前面增加下面的js代码,设置好水印位置后点击下载图片既可以保存图片到客户端

                 <script>
                    function setAttr(a) {
                        var img = document.getElementById('preview').getElementsByTagName('img')[0];
                        if (img) {
                            a.href = img.src;
                        }
                    }
                </script>
                <h3>
                    <a href="" download="xxx.jpg" onclick="setAttr(this)">下载图片</a>
                </h3>
                              <h3>Amazon S3 Info</h3>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?