h5 img js 点击图片放大_5分钟学会h5生成图片海报!
生成海报这个功能很实用,之前我们学过小程序生成海报的方法,今天我们来学h5生成海报。
基本原理:其实就是把你html+css写的样式转换成图片下载。
如何实现的
首先我们需要引入下面两个js插件
原理说明
首先使用 html2canvas 把你写的的样式转化成canvas画布
然后使用canvas2image.js 把画布转化为img图片。
使用方法
HTML代码
不怕你学不会
就怕你不想学
3分钟学会生成海报就这么简单
可以保存这个海报分享给朋友了
扫码关注
生成中...
上面就是海报里面的图片和文字资源,定位好位置
CSS代码
body {background-color: #000;}body img {display: block;}#picbox{ position: absolute;width: 100%; left: 0; top: 0; max-height: 100%;box-sizing: border-box;border: 4vw solid #e94b54;overflow: hidden;position: relative; }#picbox img {width: 100%;}#picbox .t1{ left:3vw; top:3vw; width: 86vw; color:#fff; font-size: 5vw;}#picbox .t2{ left:3vw; bottom:3vw; width: 50vw; color:#fff; font-size: 3vw;}#picbox .eq{ right: 3vw; bottom:3vw; width: 20vw; text-align: center;}#picbox .eq p{font-size: 3vw; padding-top: 5px;}#shading { position: fixed; left: 0; top: 0; height: 100vh;z-index: 99; background-color: rgba(0,0,0,0.8);text-align: center; width: 100%; font-size: 3vw; color:#fff; display: none;}#shading p{font-size: 18px;padding-top: 50%; }#picshow img {width: 100%;}
最后加上js
function gotoimg() { $('#shading').show(0); // 生成中提示文字 $('#picbox').show(0); // html海报模块var getPixelRatio = function(context) { // 获取设备的PixelRatiovar backingStore = context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || context.backingStorePixelRatio || 1;return (window.devicePixelRatio || 1) / backingStore; };var shareContent = $("#picbox")[0]; var width = shareContent.offsetWidth; var height = shareContent.offsetHeight; var canvas = document.createElement("canvas"); var context = canvas.getContext('2d'); var scale = getPixelRatio(context); //将canvas的容器扩大PixelRatio倍,再将画布缩放,将图像放大PixelRatio倍。 canvas.width = width * scale; canvas.height = height * scale; canvas.style.width = width + 'px'; canvas.style.height = height + 'px'; context.scale(scale, scale);var opts = {scale: scale, canvas: canvas,width: width, height: height,dpi: window.devicePixelRatio }; html2canvas(shareContent, opts).then(function (canvas) { context.mozImageSmoothingEnabled = false; context.webkitImageSmoothingEnabled = false; context.msImageSmoothingEnabled = false; context.imageSmoothingEnabled = false;var dataUrl = canvas.toDataURL('image/png', 1.0); //var dataUrl = canvas.toDataURL('image/png', 1.0).replace("data:image/png;base64,","");var newImg = document.createElement("img"); newImg.src = dataUrl; newImg.width = width; newImg.height= height; // 生成成功后,把图片地址传递到img标签 $("#picshow img").attr('src',dataUrl); $('#picbox').hide(0); $('#shading').hide(0); }); } // 运行生成海报 gotoimg();
大功告成!
注意:如果本地生成失败,需要传到空间,用url访问即可执行。
h5 img js 点击图片放大_5分钟学会h5生成图片海报!相关推荐
- h5 img js 点击图片放大_网页对应图片点击放大 html+js
$(function() { $('img').click(function() { var _this = $(this);// 将当前的pimg元素作为_this传入函数 imgShow(&quo ...
- h5 img js 点击图片放大_H5实现移动端图片预览:手势缩放, 手势拖动,双击放大......
查看示例效果: 一.功能介绍 图片预览主要有以下几个功能点组成:监听图片点击事件,进入图片预览模式 自定义手势事件, (双指缩放,滑动,双击...) 监听图片手势事件,通过 transform-mat ...
- html+js 点击图片放大、点击图片全屏
html 点击图片放大,图片全屏,再点击关闭全屏,我这里直接整理成一个js,使用方便. 使用步骤: 1.引用 jq 2.引用 imgEnlarge.js. 3.没了. 直接上代码,这个是测试代码. & ...
- js实现点击图片放大效果,以及懒加载图片
js实现点击图片放大效果,以及懒加载图片 近期有个后端管理页面小优化,原来的图片是点击才会去后端请求图片展示到前端,用dialog的方式展示,但是不太直观 存在两个问题 1.点击查看后,电子照片会变形 ...
- vue项目 一行js代码搞定点击图片放大缩小
一行js代码搞定xue项目需要点击图片放大缩小,其实主要用的是用到了vue:class的动态切换,内容比较简单.一开始我把维护的需求想得太复杂了,和测试小姐姐聊了一下才反应过来. 两个月不到跟了四个项 ...
- Viewer.js点击按钮放大图片用法
1.Viewer.js点击按钮放大图片用法 <div onclick="getHideBig('hide_img_weight1')" id="btn_img_we ...
- 点击图片放大缩小功能
1.点击图片放大缩小的思路 图片部分: <table><div><img style="width:62px;height:83px;display:block ...
- jquery点击图片放大效果
点击图片放大效果无非就是创建一个大容器,点击小图片获取图片路径存放到大容器里. 接下来看一下效果图 HTML结构 <img class="enlargeImg" width= ...
- jquery 点击图片放大,带上下一张,可通过滚动鼠标进行图片缩放
<?php /*** Created by PhpStorm.* User: 28010* Date: 2022/1/17* Time: 13:50*** 1.这里图片的数据是从数据库里面查询取 ...
最新文章
- if(p == NULL)和 if(NULL == p)区别
- c++ssh连接_一步步使SSH连接您的github仓库
- 读javascript高级程序设计10-DOM
- Leetcode 剑指 Offer 57 - II. 和为s的连续正数序列 (每日一题 20210809)
- SlideringDrawer的使用(抽屉效果)
- 【SpringBoot】SpringBoot 操作 Excel 完整示例(含源码GitHub)
- CentOS 7 + nginx-1.12 + php-7.2 + MySQL-5.7
- 【Cef编译】 CefSharp编译失败,检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”...
- 【java】java Integer 缓存 一定是 -128~127 吗
- input标签中使输入文本向右偏移像素解决方案(亲测有效)
- 数据科学包9-pandas高级内容之数据IO
- nginx的location优先级
- 计算机应用离散数学,结合计算机应用的离散数学教学研究.pdf
- NOIP2018 复赛提高组一等奖获奖名单
- python 跨行字符串_python字符串结束的标志_python-7-字符串的操作_方法_format_列表的操作...
- uni保存canvas图片_UniApp 用canvas生成图片保存本地
- 20220814笔记
- 业务中台构建--业务驱动为核心的云原生体系建设思考
- ABP的一些特性 (Attribute)
- Windows 解决端口占用