1. 前端将图片转换为base64位无法使用ajax传递怎么解决
前端生成的代码最终格式如下:
data:image/png;base64,xxxxxxxxxx...........
后端这样解码
base64=base64.Replace("data:image/png;base64,", "");
byte[] bytes =Convert.FromBase64String(base64);
MemoryStream memStream = new MemoryStream(bytes);
BinaryFormatter binFormatter = new BinaryFormatter;
return(System.Drawing.Image)binFormatter.Deserialize(memStream);
2. 前端(例如JS)如何实现图片转换文字,尤其是针对身份照片
我做过一点深度学习,说实话文字识别是比较简单的,就是汉字比较多一点。
深度学习的准确率非常高,而且现在可以放置到前端中来使用,因为现在有deeplearnjs开源,你可以在前端直接用 js 来跑。
这里有一个已经训练好的深度学习模型,可以直接用来跑,你只需要移植到前端上去,或者直接丢在后端来跑反馈到前端去,给你个识别印刷体的deep_ocr,这里面就带有身份证识别示例。
多棒!深度学习碉堡了!但是,这些虽然是免费开源的,而且准确度是目前最高的,你自己有没有能力部署上去是个不大不小的问题,如果不行,还是调用别人给的接口吧。
当然,要是能移植 deeplearnjs 上去,那你就解决了前端的这种问题啦!
3. 前端pdf图片转canvas展示问题
可能是图片格式有问题。
canvas可以加载的图片会根据类型读取,如果图片格式不正确,可能会导致显示异常。
可以使用图片软件打开图片看看是否正常,或者用软件转换一下。
4. 有没有软件可以把图片变成web前端的代码
有软件可以把图片变成web前端的代码。imgcook软件,可以把设计稿和图片转成前端代码。在原有设计稿标注功能的基础上,进一步提升前端工程师的开发体验和效率,达到了像素级还原设计稿的效果。
5. 前端将图片转换为base64位,使用ajax传递到后台,但是图片经过base64转换成字符串后非常长,无法使用ajax
前端JS
var reader = new FileReader();
reader.onload = function (e) {
//图片base64数据
var imgBase64Data = e.target.result;
var pos = imgBase64Data.indexOf("4")+2;
imgBase64Data = imgBase64Data.substring(pos, imgBase64Data.length - pos);//去掉Base64:开头的标识字符
$.ajax({
type: "POST",
url: "http://imginapi.com/image/AddImage",
async: false,
xhrFields: { withCredentials: true },
data: { 'base64StrImgData': imgBase64Data, 'imgFormat': fileext},
dataType: "text",
success: function (data) {
alert(data);
domUtils.on(iframe, 'load', callback);
},
error: function (err) {
alert("error");
alert(err.responseText);
}
});
return;
};
reader.readAsDataURL(input.files[0]);
后台C#代码:
/// <summary>
/// 图像转换为Base64编码
/// </summary>
/// <param name="image">图像</param>
/// <param name="format">图像格式</param>
/// <param name="throwException">出现异常时是否抛出</param>
/// <returns>转换成功返回其Base64编码;失败返回空串</returns>
public static string ImageToBase64(System.Drawing.Image image, ImageFormat format, OPResult opRes, bool throwException = false)
{
return ExceptionHelper.ExceptionRecord(() =>
{
string base64String = "";
try
{
using (MemoryStream ms = new MemoryStream())
{
image.Save(ms, format);
byte[] imageBytes = ms.ToArray();
base64String = Convert.ToBase64String(imageBytes);
}
}
catch (Exception ex)
{
throw new Exception("将图片转成base64字符串时出现异常:" + ex);
}
return base64String;
}, opRes, throwException);
}
6. 前端exe怎么让客户自己替换图片
图片替换主要是指将文字替换成图片的技术,即在html语句中使用文字,浏览器显示时用对应的图片显示。其意义在于便于做网站优化(SEO),文字才是搜索引擎寻找的主要对象。
经典的替换方法:
Fahrner图片替换法(FIR)
源码:
Html:
<h1 id="fir"><span>Fahrner Image Replacement</span></h1>
CSS:
#fir {
width: 287px;
height: 29px;
background: url(fir.gif) no-repeat;
}
#fir span {
display: none;
}
解释:
首先添加一个<span>标签,然后使用<span>标签的display属性把文字隐藏起来,最后指定<h1>的背景图片。
优点:使用CSS而不是标记语法提供图片,更改图片只需更改CSS。
缺点:(1)需要一组不具备任何语义的<span>标签才能运作(2)display属性影响屏幕阅读器使用者(3)关闭浏览器显示图片,同时启用CSS支持时,文字图片均不可显示。
2.Leahy/Langridge图片替换法(LIR)
源码:
Html:
<h1 id="lir">Leahy/Langridge Image Replacement</h1>
CSS:
#lir {
padding-top:image height;
overflow:hidden;
background:url(lir.gif) no repeat;
height:0 !important; //针对大多数浏览器
height:image height; //针对IE5
}
解释:
首先将padding-top设置为图片高度,将h1高度设置为0(IE5下设置为图片高度),根据盒子模型可知,文字内容将被排挤到指定高度之外,同时设置overflow:hidden将溢出文字隐藏。
优点:(1)去掉冗余的<span>标签(2)不影响屏幕阅读器使用者
缺点:(1)关闭浏览器显示图片,同时启用CSS支持时,文字图片均不可显示(2)要为IE5 for Windows使用盒模型Hack。
3.phark图片替换法
源码:
Html:
<h1 id="phark">The Phark Method</h1>
CSS:
#phark {
height: image height;
text-indent: -5000px;
background: url(phark.gif) no-repeat;
}
解释:设置text-indent属性为很大的负值,将文字显示在屏幕之外,达到隐藏的效果。
优点:(1)不需要额外标签(2)不影响屏幕阅读器使用者
缺点:关闭浏览器显示图片,同时启用CSS支持时,文字图片均不可显示