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支持時,文字圖片均不可顯示