符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
echarts.js根后台数据动态更新数据显示:
创新互联公司专注于张湾网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供张湾营销型网站建设,张湾网站制作、张湾网页设计、张湾网站官网定制、微信小程序服务,打造张湾网络公司原创品牌,更为您提供张湾网站排名全网营销落地服务。
function initDefaultChart(ec){
echarts = ec;
var list_devData = ${pointDataMassage};
/* console.info(list_devData); */
var str = "";
for (var one in list_devData){
/* console.info("one",list_devData[one]); */
var id_data =list_devData[one].dataId;
var data_unit = list_devData[one].dataUnit;
var dataSort = list_devData[one].dataSort;
/* console.info("id",id_data); */
if(document.getElementById("attr_"+id_data)!=undefined){/* !exp typeof(exp)!="undefined" exp!=0 */
var myChart = ec.init(document.getElementById("attr_"+id_data));
var option = {
tooltip : {
formatter: "{b} br/{c}{a}"
},
toolbox: {
show : false,
feature : {
mark : {show: true},
restore : {show: true},
saveAsImage : {show: true}
}
}
设置用户信息的提供者,供 RongIM 调用获取用户名称和头像信息。
param userInfoProvider 用户信息提供者。
param isCacheUserInfo 设置是否由 IMKit 来缓存用户信息。
如果 App 提供的 UserInfoProvider
每次都需要通过网络请求用户数据,而不是将用户数据缓存到本地内存,会影响用户信息的加载速度;
此时最好将本参数设置为 true,由 IMKit 将用户信息缓存到本地内存中。
这个对javascript来说有点勉为其难了。不过你可以在服务器端用图像处理组件(比如ASPJpeg)来做这样的事。以下是把任意大小的图片处理成120*160的例子(ASP):
%
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open Server.MapPath("原图片的路径及文件名")
Jpeg.Quality = 80 '图片压缩后的显示质量
Jpeg.Width = 120 '压缩后的图片宽度
Jpeg.Height = 160 '压缩后的图片高度
set fso=server.createobject("scripting.filesystemobject")
Jpeg.Save Server.MapPath("处理后的图片路径及文件名")
Jpeg.Close
Set Jpeg = Nothing
%
通过这个你就可以对用户上传的图片进行尺寸调整,具体多大的尺寸可以使图片的字节数控制在65K内就你自己去试了。
PS:目前大部分的WEB服务器都支持ASPJpeg组件的。
在之前的笔记中,讲了如何实现圆形头像,这里接着上一次的笔记,讲一下怎么修改头像(通过图库和拍照方式)。
重点:
流程: 一般在APP中,修改头像是最基本的功能之一了。一般是两种方式的修改:从相册选择图片或者拍照。那么这里就来讲一下如何具体实现这个功能。
Step1:点击头像 -手势(UITapGestureRecognizer)
首先,点击头像。因为头像是直接放在ImageView中的,默认情况下当我们点击头像的时候,头像是不会有任何反应的。因此,我们需要给头像的ImageView添加一个点击事件,方法如下:
Step2:弹出选择提示-提示框(UIAlertController)
通过添加UITapGestureRecognizer(手势),系统就知道了我点击了头像,接着,就可以添加具体的方法来进行操作了。在上一步,我为这个手势的action,selector(选择)了一个方法来执行,即alterHeadPortrait:(注意有冒号的),也就是当我们点击了头像之后,会执行alterHeadPortrait:这个方法:
通过UIAlertController(提示框)这个类,我们创建好了一个提示框,如下:
现在,当我们点击取消(或者点击按钮以外的区域)提示框就会被自动取消掉,并将提示框收起来。
Step3:从相册选择或者拍照选择头像-UIImagePickerController
好了,绕了这么久,终于开始进入主题了,即选择图片或者拍照了。那么现在该肿么办呢?好像毫无头绪的样子。。。
这里就需要通过UIImagePickerController,通过它,我们就可以让我们的APP轻松的实现访问相册或者拍照:
操作UIImagePickerController,需要实现两个协议:
进行相册图片选择或者相机拍照的实现代码如下:
运行效果如图:
Step4:替换头像-大功告成!
现在,我们已经能够打开相册,或者拍照(拍照功能模拟机无法拍照,会报错,只有用真机测试)。
可是问题来了,现在选择了新图片,确定之后,头像还是原来的头像,并没有更新。这是因为我们这里还没有对图片选择完全之后的代理方法进行实现:
大功告成:
剪头像:
script type="text/javascript" language="javascript"
!--
//关于图片处理
var _cutMinW=48; //切片最小宽度
var _cutMinH=48; //切片最小高度
var _imgPath=getCookie('162100screenshotsImg'); //图片路径
function getCookie(name){
var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr!=null arr!=false) return decodeURIComponent(arr[2]);
return false;
}
function startP(){
//alert('示例图片已载入,此键暂不必用');
location.href="start.html";
}
function subCut(){
/*
alert('\
图片实际宽度为'+Math.ceil(_imgW)+'px\n\
图片实际高度为'+Math.ceil(_imgH)+'px\n\
图片当前宽度为'+Math.ceil(_nowW)+'px\n\
图片当前高度为'+Math.ceil(_nowH)+'px\n\
截图X坐标为'+Math.ceil(_pP.offsetWidth+1-_imgO.offsetLeft)+'px\n\
截图Y坐标为'+Math.ceil(_pP.offsetHeight+1-_imgO.offsetTop)+'px\n\
截图宽度为'+Math.ceil(_pO.offsetWidth-2)+'px\n\
截图高度为'+Math.ceil(_pO.offsetHeight-2)+'px\n\
可将上述参数,转向后台处理。');
*/
if(!_imgW || !_imgH || _imgO==null){
alert('图片加载出错!');
return false;
}
var f=document.createElement("form");
f.action="i_up.php";
f.method="post";
f.style.display='none';
f.innerHTML='\
input type="hidden" name="imgw" value="'+Math.ceil(_imgW)+'" /\
input type="hidden" name="imgh" value="'+Math.ceil(_imgH)+'" /\
input type="hidden" name="noww" value="'+Math.ceil(_nowW)+'" /\
input type="hidden" name="nowh" value="'+Math.ceil(_nowH)+'" /\
input type="hidden" name="px" value="'+Math.ceil(_pP.offsetWidth+1-_imgO.offsetLeft)+'" /\
input type="hidden" name="py" value="'+Math.ceil(_pP.offsetHeight+1-_imgO.offsetTop)+'" /\
input type="hidden" name="pw" value="'+Math.ceil(_pO.offsetWidth-2)+'" /\
input type="hidden" name="ph" value="'+Math.ceil(_pO.offsetHeight-2)+'" /\
input type="hidden" name="ptype" value="4" /\
';
document.body.appendChild(f);
document.getElementById('runSub').style.display='block';
f.submit();
}
--
/script