CSDN问答——精选问答Vol.4
Posted 问答小精灵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSDN问答——精选问答Vol.4相关的知识,希望对你有一定的参考价值。
《精选问答》挑选CSDN问答频道每周最新最热的优质回答,为大家提供可信赖的优质解答,点击查看更多已解决问题
目录
4、在循环中更新MPAndroidChart图表不刷新是为什么
5、nodejs,如何把request方法得到的json返回值传递出去并用变量接受
7、js 如何提取http请求url字符串里的特定规则的name和password
1、MATLAB图像处理怎么将彩色图片慢慢转化成黑白图片?
问题描述:
MATLAB初学者,需要做出那种为纪念英雄人物,播放彩色图片,然后慢慢变到灰色的效果。想法是做成gif,但是中间那由彩色变成黑白的渐变过程不知道怎么进行图像的运算。
解决方案——来自@qq_34124780的回答
我讲个思路你可以自己实现下。
1、确定下彩色转灰度图的结果,看下结果是否满意,或者结果灰度图不满意的要先处理下,得到最终的灰度图。
2、实现渐变。如果你将一张灰度图保存下来看下,你就会发现这张图片RGB三个通道的灰阶是一样的。也就是说,你将一张彩色的图片的RGB三个通道调整一样的结果的话,那么虽然还是三通道的,但是效果就是一张灰度图。那么现在要做的就是将原来的图片RGB三个通道的每个像素值转成第一步中的灰度值。
3、举了例子来说,比如【0,0】这个像素位置的RGB是【120,80,144】,那么你处理过后的灰阶值是90,你计划用10帧图片达成gif,那你就是120-->90,80-->90,144-->90,中间每个通道的渐变灰阶值就是(90-120)/10=-3,+1,-5.4,保存每一帧,matlab不知道有没有函数可以直接做成gif,最后的效果就是渐变的,当然这个是三个通道一致的线性渐变。
4、实际上为了颜色均衡,RGB三个通道不是渐变的,而是有一个系数的,你需要自己去换算下系数,最常见的Gray = R*0.299 + G*0.587 + B*0.114
本题更多回答戳链接:https://ask.csdn.net/questions/7439855
2、laravel框架下js实现的查询与分页
问题描述:
目前在laravel下js实现的一个瞬时查询效果,这样一来貌似使得paginate函数变得不可用。
可否请教下如何在此基础上也实现js的分页搜索效果。
视图页面:
<form action="" method="get" class="box-tools">
<div class="box-tools">
<div class="input-group input-group-sm hidden-xs" style="width: 750px;">
<input type="text" name="table_search" id="myInput" onkeyup="myFunction()" placeholder="姓名" value="{{ request()->get('table_search','') }}" >
{{-- <div class="input-group-btn">
<button type="submit" class="btn btn-default"><i class="fa fa-search"></i></button>
</div> --}}
</div>
</div>
</form>
</div>
<div class="box-body table-responsive no-padding">
<table id="MyTable" class="table table-hover">
<tr>
<th>学生姓名</th>
<th>联系电话</th>
<th>缴费状态</th>
<th>星级</th>
<th>提醒</th>
<th>项目</th>
<th>项目类别</th>
<th>信息录入人</th>
</tr>
@foreach($data as $obj)
<tr>
<input type="hidden" name="student_id" value="{{ $obj->id }}">
<td><a href="">{{ $obj->name }}</a></td>
<td><a href="">{{ $obj->tel }}</a></td>
<td><a href="">{{ $obj->payment_status_id }}</a></td>
<td><a href="">{{ $obj->stat_lv }}</a></td>
<td><a href="">{{ $obj->notification }}</a></td>
<td><a href="">{{ $obj->project_id }}</a></td>
<td><a href="">{{ $obj->project_type_id }}</a></td>
<td><a href="">{{ $obj->user_id }}</a></td>
<td>
<a href="{{ $obj->id }}/detail" class="btn btn-xs btn-primary">详细/修改</a>
<a href="{{ $obj->id }}/delete" class="btn btn-xs btn-danger">删除</a>
</td>
</tr>
js页面:
解决方案——来自@三七小浩的回答
js的分页,就是根据数组先排序,同样根据当前页pageIndex和每页显示数量pageSize来控制显示数组里的那些元素,可以用splice等方法来实现,当然还得用一个数组来备份一下全部的数据
本题更多回答戳链接:https://ask.csdn.net/questions/7440614
3、js如何可以改变一个数据,然后也可以变回之前的样子
问题描述:
例如:
[{bool:true},{bool:flase},{bool:true}]
我遍历之后让他变成,然后我如何让他变回之前的样子?
[{bool:flase},{bool:flase},{bool:flase}]
解决方案——来自@CSDN专家-showbo的回答
用一个变量存储原来的数据,由于是对象,可以json.stringify转字符串后,需要全部还原时在parse还原
var arr = [{ bool: true }, { bool: false }, { bool: true }];
var old = JSON.stringify(arr);
arr.forEach(i => i.bool = false);
console.log(JSON.stringify(arr));
setTimeout(() => {
arr = JSON.parse(old);
console.log(JSON.stringify(arr));
}, 3000)//3s后还原
本题更多回答戳链接:https://ask.csdn.net/questions/7439820
4、在循环中更新MPandroidChart图表不刷新是为什么
问题描述:
我想要在一个循环中不断更新图表中的数据,然后让图表刷新动态显示,但是怎么都不行,只能所有的数据全部加载完之后一块显示,请问是什么原因。
这是我的循环更新部分的代码,CalPosition.position是要加载的数据列表,改来改去就是不能一个点一个点的更新显示,只能最后一块显示,总共也就1600条数据,难道是因为数据太多反应不过来吗?
int num=0;
while(num<CalPosition.positions.size()){
float[] position=CalPosition.positions.get(num);
if(zlineData!=null){
LineDataSet zlineDataSet= (LineDataSet) zlineData.getDataSetByIndex(0);
zlineData.addEntry(new Entry(zlineDataSet.getEntryCount(),position[2]),0);
zlineChart.notifyDataSetChanged();
zlineChart.invalidate();
Log.e("zlinechart", "startDraw: "+"正在更新");
}
if(ylineData!=null){
LineDataSet ylineDataSet= (LineDataSet) ylineData.getDataSetByIndex(0);
ylineData.addEntry(new Entry(ylineDataSet.getEntryCount(),position[1]),0);
ylineChart.notifyDataSetChanged();
ylineChart.invalidate();
Log.e("ylinechart", "startDraw: "+"正在更新");
}
num++;
}
解决方案——来自@CSDN专家-link的回答
线程同一时间只能干一件事,它正在循环处理数据呢,没时间刷新显示。想一边显示,又一边处理,就要把数据处理放到独立的线程中,互不干扰才行。可以在这个类里写个函数线程,将处理好的数据发给主线程显示就可以
本题更多回答戳链接:https://ask.csdn.net/questions/7437750
5、nodejs,如何把request方法得到的json返回值传递出去并用变量接受
问题描述:
这里的 response值只能控制台输出,我先把它return出来,调用这个send函数就可以得到返回的json值,因为我想再写一个处理返回值的函数把返回值传进去再处理
类似这样:var data=send() data可以获得request的返回值 或者有什么其他方法可以在其他函数中调用request返回的值?
var request = require('request');
function send(){
var options = {
'method': 'POST',
'url': 'http://https://mail.georgebrown.ca/login',
'headers': {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'text/html, application/xhtml+xml, */*',
},
form: {
'account': 'lch66',
'password': '123456',
'token': '-',
'_time': '1622207143899',
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});}
解决方案——来自@CSDN专家-showbo的回答
需要用到数据时传递回调函数,在success成功后执行回调传递数据
var request = require('request');
function send(callback){
var options = {
'method': 'POST',
'url': 'http://https://mail.georgebrown.ca/login',
'headers': {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'text/html, application/xhtml+xml, */*',
},
form: {
'account': 'lch66',
'password': '123456',
'token': '-',
'_time': '1622207143899',
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
callback(response.body);
});}
function getData(){
send((body)=>{
console.log(body)
})
}
getData();
本题更多回答戳链接:https://ask.csdn.net/questions/7440101
6、python 删除列表操作报错
问题描述:
python 都是删除列表操作,怎么一个报错一个不报错
list=[10,20,30,440,50,60,30]
print('------------------------移除一个指定元素-------------------')
list.remove(30)
print(list) #有重复元素时只删除第一个元素
#list.remove(1000) #当要删除的元素在列表中不存在时,报错:ValueError: list.remove(x): x not in list
print('------------------第一次移除元素之后------------------------')
print(list)
print('---------------- 删除指定位置元素------pop-------------------------')
list.pop(3)
print(list)
#list.pop(33) #指定的索引不存在,位置异常:IndexError: pop index out of range
list.pop() #不写参数时删除最后一个元素
print(list)
print('----------------------切片删除元素,至少一个元素,将产生一个新的列表对象----------------------------')
new_list=list[1:3]
print('原列表',list)
print('切片后',new_list) #新列表为指定的元素
print('------------------------不产生新的列表对象,删除原列表中的元素-------切片操作------------------')
list[1:3]=[] #用空列表代替指定位置的切片操作
print(list) #操作后,删除指定位置的元素
print('-----------------清除列表中的所有元素----clear------------------')
list.clear()
print(list)
print('--------------------删除列表对象 del语句---------------------------------')
del list #之后list这个列表对象不存在了
print(list)
del new_list
print(new_list) #NameError: name 'new_list' is not defined
解决方案——来自@CSDN专家-天际的海浪的回答
输出的<class 'list'>的原因是:python一般有3个层次的作用域范围:函数的局部作用域、全局作用域 和 内置作用域。
作用域的范围排序是按照从内到外,list 系统内置的函数是在最外层的内置作用域中。
你用list做变量名。是在全局作用域中,就暂时遮蔽了内置作用域中的list内置函数。等用 del list 删除了全局作用域中的list变量之后,就又暴露出了内置作用域中的list内置函数,print(list) 输出的<class 'list'>就是内置作用域中的list内置函数。
本题更多回答戳链接:https://ask.csdn.net/questions/7438444
7、js 如何提取http请求url字符串里的特定规则的name和password
问题描述:
例如一个url http://pis0sion:zihuang2010=-0@127.0.0.105:9091/auth,我想提取出pis0sion为name zihuang2010=-0为password。通过正则匹配吗还是有api可以调用。
解决方案——来自@风雪一更的回答
var r0 = new RegExp("://.*?@","i");
这个正则匹配:// 和 @ 中间的字符串,你匹配完可以打印出来看看
取到之后用split(":"),转成数组就行了,arr[0]就是name,arr[1]就是password
var str="http://pis0sion:zihuang2010=-0@127.0.0.105:9091/auth"
var r0 = new RegExp("://.*?@","i");
var newstr = str.match(r0)[0]; // 输出 ://pis0sion:zihuang2010=-0@
var arr = newstr.substring(3,newstr.length-1).split(":");
console.log(arr) //["pis0sion", "zihuang2010=-0"]
本题更多回答戳链接:https://ask.csdn.net/questions/7439306
8、fetch请求本地资源文件失败的解决方法
问题描述:
本人在利用VScode编写前端代码时用fetch方法请求本地资源后,控制台显示报错。请问如何解决?
methods:{
handfetch(){
fetch("json/test.json")
.then(res=>res.json())
.then(res=>{console.log(res)})
}
}
控制台报错显示:
VScode上安装了live-server,并且已经打开了,但是打开的页面不是http协议的。
打开之后的路径是这样的:
解决方案——来自@三七小浩的回答
fetch请求的开头必须是http或者https这种完整路径的,这里没必要用fetch哦,如果是本地的文件,你直接用require('json/test.json')这样的就可以了,或者你的代码支持import,这样更简单,更容易一些
本题更多回答戳链接:https://ask.csdn.net/questions/7439921
以上是关于CSDN问答——精选问答Vol.4的主要内容,如果未能解决你的问题,请参考以下文章