一、参考
博客园: 图片(旋转/缩放/翻转)变换效果(ccs3/滤镜/canvas)
根据具体
需求
,将鼠标移动拖动图片旋转变成了拖动图片,并且删除、修改了一些按钮操作;
二、功能
图片通过
base64显示,包括图片的查看,旋转,放大,缩小,拖拽,重置。
三、实现
前台aspx代码:
<style>
#imageContainer {
border:1px solid #000;
width:100%
;
height:500px;
background:#FFF center no-
repeat;
}
</style>
<tr id=
"tr_CertImg" runat=
"server">
<td
class=
"table-control5" colspan=
"4">
<div>
<div><br><h3>施工许可证书上传图片:</h3></div>
<div id=
"imageContainer"></div>
<input id=
"idLeft" type=
"button"class=
"btn btn-default" value=
"向左旋转"/>
<input id=
"idRight" type=
"button"class=
"btn btn-default" value=
"向右旋转"/>
<input id=
"idReset" type=
"button"class=
"btn btn-default" value=
"重置"/>
</div>
</td>
</tr>
<script src=
"../../../../../js/CJL.0.1.min.js"></script>
<script src=
"../../../../../js/ImageTrans.js"></script>
<script>
function canvasSupport(){
return!!document.createElement(
'canvas').getContext;
}
(function (){
var container = $$(
"imageContainer"),
src =
"<%=Convert.ToString(ViewState["imageurl
"])%>",
options =
{
onPreLoad: function (){ container.style.backgroundImage =
"url('http://images.cnblogs.com/cnblogs_com/cloudgamer/169629/o_loading.gif')";},
onLoad: function (){ container.style.backgroundImage =
"";},
onError: function (err){ container.style.backgroundImage =
"";}
},
it =
newImageTrans(container, options);
it.load(src);
//左旋转
$$(
"idLeft").onclick =
function (){ it.left();}
//右旋转
$$(
"idRight").onclick =
function (){ it.right();}
//重置
$$(
"idReset").onclick =
function (){ it.reset();}
})()
</script>
后台CS代码:
private void GetImg(Epoint.MisBizLogic2.Data.MisGuidRow oRow)
{
//将数据库中的image类型(即byte流)的数据取出转base64直接赋值给前台img标签的scr
if(DBNull.Value!= oRow[
"CertScanFileContent"]&&DBNull.Value!= oRow[
"CertScanFileContent_ContentType"]&& oRow[
"CertScanFileContent"]!=
null && oRow[
"CertScanFileContent_ContentType"]!=
null)
{
string imageContent =Convert.ToBase64String((
byte[])oRow[
"CertScanFileContent"]);
string imageType =Convert.ToString(oRow[
"CertScanFileContent_ContentType"]);
StringBuilder sbUrl =
newStringBuilder();
sbUrl.AppendFormat("data:image/{0};base64,{1}", imageType, imageContent);
ViewState["imageurl"]=
sbUrl.ToString();
tr_CertImg.Visible=
true;
}
else
{
tr_CertImg.Visible=
false;
}
}
注:GetImg()方法在页面加载时执行。
最终效果图片:
来自为知笔记(Wiz)
转载于:https://www.cnblogs.com/zerodai/p/5706449.html
相关资源:js完美实现同时拖拽、旋转、放大缩小图片的手势操作