关于表单截图的使用填坑

前言

进来要进行表单填写完之后进行截图的工作,google了一下找到了html2canvas这款工具。

原理

使用起来不算难,原理简单说一下,就是把div或者整个body刻制到一个canvas中,然后再将此canvas转化为image。

填坑

  • 版本问题

html2canvas的版本控制我觉得有很大的问题,v0.4.1存在多个版本,而官方网站提供的4.1的版本最后一次是2013年的,这个版本是不能显示raido input的(这个稍后详述),为了解决这个问题,我又找到了2014年更新的4.1版本,官网并不存在。

另外,v0.5.0稍微尝试了一下,缺陷有点多。对于div的截图智能做到可见范围内的截取,也就是说遇到大的div是不能全部截取的。所以果断又重新拾起0.4.1,注意是3034行代码的那个4.1

  • background color

因为div的background是transparent,所以截图截取下来的自然就是白色很刺眼的那种
解决方案:

    1.官方版的4.1中可以对background进行颜色设定,但是因为不支持radioinput,所以摒弃;
    
    2.对div进行background-color设定,成功。
  • radio input中的dot在chrome中截图下来的效果是白点

前端不是太懂,只是发现在firefox中截取下来的点击项是黑点,而chrome中却是白点,这显然太影响视觉效果了,于是找到了一下方案,对radio input 进行加工(主要也是调background color)。

    input[type=radio]{
      visibility: hidden;
    }
    input[type=radio] + label:before{
      margin-left: -20px;
      height:13px;
      width:13px;
      margin-right: 2px;
      content: " ";
      display:inline-block;
      vertical-align: baseline;
      border:1px solid #777;
      border-radius:50%;
    }
    input[type=radio]:checked + label:before{
      background:rgb(0,238,247);
    }

图片

  • 图片格式问题

    png转jpg的时候,图片质量进行了压缩,size小了一半,导致质量下降,看上去像是马赛克,所以在size不是太大的时候,我还是选择使用png格式。

  • 缩略图制作

    python中制作缩略图,采用PIL这个包(pip install pillow),

      image = Image.open(path + file_name)
      image.thumbnail((620,620),Image.ANTIALIAS)
      image.save(path,"png")
    

图片服务器

  • 最简单的服务器

将静态路径在

1.settings中设置,MEDIA_ROOT 与 MEDIA_URL

2.urls配置

    DIRNAME = os.path.dirname(__file__)
    urlpatterns += patterns("",
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True }),)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,857评论 0 17
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 6,859评论 0 11
  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 8,401评论 0 11
  • YYText 简单介绍 YYText 是YYKit中的一个富文本显示,编辑组件,拥有YYLabel,YYText...
    乔克_叔叔阅读 11,242评论 8 40
  • (原创小说)小达特 小达特坐在钢琴旁,是说什么也弹不进去了,脑子就像被倒进了满满一瓶浆糊,还被使劲搅拌了一番,...
    驻足看风景阅读 2,394评论 0 0

友情链接更多精彩内容