System.Web.UI.WebControls.Image 转换成流

问题描述

如题,有解决方法没,我想实现System.Web.UI.WebControls.Image和usingSystem.Drawing.image的互转

解决方案

解决方案二:
System.Web.UI.WebControls.Image是控件,通过属性url显示的是图片的指向。System.Drawing.image是图像一般使用方式是通过System.Web.UI.WebControls.Image控件指向一个ashx或者aspx页面,ashx或aspx刷出image。两个不能直接互转。
解决方案三:
这两者不是一个东西,怎么互转呢……你应该是用一个aspx或者ashx或者其它来作为System.Drawing.Image的显示载体,然后System.Web.UI.WebControls.Image将Url指向该aspx或ashx
解决方案四:
引用2楼starfd的回复:

这两者不是一个东西,怎么互转呢……你应该是用一个aspx或者ashx或者其它来作为System.Drawing.Image的显示载体,然后System.Web.UI.WebControls.Image将Url指向该aspx或ashx

我现在要截图。。然后需要把System.Web.UI.WebControls.Image转换成usingSystem.Drawing.image这个图片路径是blob:http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683不能让流去读取啊。。给个思路呗、/、
解决方案五:
引用1楼guwei4037的回复:

System.Web.UI.WebControls.Image是控件,通过属性url显示的是图片的指向。System.Drawing.image是图像一般使用方式是通过System.Web.UI.WebControls.Image控件指向一个ashx或者aspx页面,ashx或aspx刷出image。两个不能直接互转。

这些都知道,,主要是要截取图片就要用到System.Drawing.image啊
解决方案六:
你给了一个本地测试路径打不开的啊……blob:http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这个看不懂什么意思啊,blob是oracle的数据类型,后面有个冒号,冒号后面又是一个url
解决方案七:
难道你这个是要做图片加载后按比例截取此图片的一部分?
解决方案八:
引用6楼starfd的回复:

难道你这个是要做图片加载后按比例截取此图片的一部分?

是的
解决方案九:
引用5楼starfd的回复:

你给了一个本地测试路径打不开的啊……blob:http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这个看不懂什么意思啊,blob是oracle的数据类型,后面有个冒号,冒号后面又是一个url

代码是这样写的functionsetImagePreview(avalue){vardocObj=document.getElementById("fileField");alert("a");if(docObj.files&&docObj.files[0]){//火狐下,直接设img属性//imgObjPreview.src=docObj.files[0].getAsDataURL();//火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式vart=window.URL.createObjectURL(docObj.files[0]);alert(t);location.href="Accountsettings.aspx?Url="+t;}else{//IE下,使用滤镜docObj.select();varimgSrc=document.selection.createRange().text;varlocalImagId=document.getElementById("localImag");//必须设置初始大小localImagId.style.width="150px";localImagId.style.height="180px";//图片异常的捕捉,防止用户修改后缀来伪造图片try{localImagId.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=imgSrc;}catch(e){alert("您上传的图片格式不正确,请重新选择!");returnfalse;}imgObjPreview.style.display='none';document.selection.empty();}returntrue;}复制过来改了一些东西。。。
解决方案十:
原来怎么从blob取出数据转化成Image截图时还是这么做,后面再参考上面的AdjImageToFitSize方法
解决方案十一:
就是点击确定后就截图
解决方案十二:
首先你要在你的浏览器上确定http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这种地址能不能直接显示图片,并且另存为图片文件。
解决方案十三:
引用11楼sp1234的回复:

首先你要在你的浏览器上确定http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这种地址能不能直接显示图片,并且另存为图片文件。

可以直接显示图片的,另存就不知道了
解决方案十四:
引用11楼sp1234的回复:

首先你要在你的浏览器上确定http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这种地址能不能直接显示图片,并且另存为图片文件。

在页面上也可以存的
解决方案十五:
引用2楼starfd的回复:

这两者不是一个东西,怎么互转呢……你应该是用一个aspx或者ashx或者其它来作为System.Drawing.Image的显示载体,然后System.Web.UI.WebControls.Image将Url指向该aspx或ashx

我想实现这样的方式,你看看行不行,地址栏的图片是jpg形式的,先从地址栏读取图片流然后生成System.Drawing.Image的图,然后直接截图,然后保存截图,你看看这样行不行
解决方案:
我9L给你的回复就是这样子的啊……不过不是从地址栏读取图片,而是你原来怎么显示的图片的就还是怎么读取
解决方案:
引用15楼starfd的回复:

我9L给你的回复就是这样子的啊……不过不是从地址栏读取图片,而是你原来怎么显示的图片的就还是怎么读取

不能用流的方式读取http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683他会报这个错
解决方案:
你这个夸张了,http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这个地址不就是你自己写的后台读取数据流显示成图片么?你把那段读取成Image的代码拿来用就可以了,干嘛要通过这个地址来读取成Image?
解决方案:
引用17楼starfd的回复:

你这个夸张了,http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这个地址不就是你自己写的后台读取数据流显示成图片么?你把那段读取成Image的代码拿来用就可以了,干嘛要通过这个地址来读取成Image?

我想把他再变成流,,,再通过流转换成usingSystem.Drawing.image
解决方案:
就是说如何把http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这个地址重新转成流,,生成的时候是用的js出来的,是我复制过来的,,转换就不知道了引用17楼starfd的回复:

你这个夸张了,http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这个地址不就是你自己写的后台读取数据流显示成图片么?你把那段读取成Image的代码拿来用就可以了,干嘛要通过这个地址来读取成Image?

解决方案:
参考随机截取图片一部分:(本例是截取一部分作为验证码背景图)
解决方案:
如果你确定你的url是一个静态图片(换一个机器的浏览器也可以直接打开),可以在浏览器上“另存为图片”(不需要什么权限),那么你就可以直接获取byte[],例如byte[]data=newWebClient().DownloadData("http://avatar.csdn.net/1/8/D/1_sp1234.jpg");

或者byte[]data=newWebClient().DownloadData("http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683");

但是,在设计成一个自动化程序时,你需要自动化地取得url,而不要手工获取url。

时间: 2024-10-27 15:41:10

System.Web.UI.WebControls.Image 转换成流的相关文章

无法将类型为“System.Web.UI.WebControls.HiddenField”的对象强制转换为类型的错误的解决_实用技巧

本文章将解决: 1.解释什么是System.Web.UI.LiteralControl 2.为什么会经常发生法将类型为"System.Web.UI.WebControls.HiddenField"的对象强制转换为类型--的错误 3.GridView控件中查找模板列的控件(解释Cells和Controls) 在用GridView控件绑定数据时,经常会要将某列转换为模板列,如: 我们在页面中拉一控件GridView,名字:GVData,将其中某列转换为模板列,在这里我们转换的是列"

System.Web.UI.WebControls和HtmlControls命名空间的区别

问题描述 比如:System.Web.UI.WebControls.Button类与System.Web.UI.HtmlControls中HtmlButton类的区别 解决方案 解决方案二:是没人知道吗?还是问题问得不清楚,我是菜鸟,望各路大侠指点解决方案三:System.Web.UI.WebControls.Button类是服务端控件<asp:Button>System.Web.UI.HtmlControls中HtmlButton是客户端控件也就是<inputtype=button&g

“System.Web.UI.WebControls.DataGrid”并不包含“TestCommand”的定义

问题描述 在我的datagrid1控件中<asp:TemplateColumnHeaderText="删除"><ItemTemplate><FONTface="宋体"><asp:LinkButtonid="btn_del"runat="server"CommandName="Delete"ForeColor="#ff3300">删除<

数字 名称 &amp;amp;#x27;System.Web.UI.WebControls&amp;amp;#x27; 包含的前缀数目超过了最大值。最大值为 3。 ,郁闷啊大哥大姐们帮帮我吧!

问题描述 题目也就是这样,我建了一个asp.net页面,里面有一个Lable控件,和一个button(查询)按钮,Lable控件用来显示SQL表中的数据,Lable控件的ID:name.SQL表名称也是:name,也就是说我按那个查询按钮,那么在Lable控件里就要显示SQL表(name)的全部数据,那怎么办啊,高手们我现在是菜鸟啊.protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectionmyConnection=newS

System.Web.UI.WebControls.TreeNode 没有 DataBinding 事件

问题描述 <asp:TreeNodeText="业务部"Value="业务部"NavigateUrl='<%#"~/Work/SumUp.aspx?d="+Server.UrlEncode("业务部")%>'></asp:TreeNode> 我需要对URL进行编码,如上所示,但程序提示:仅对具有DataBinding事件的对象提供数据绑定表达式支持.System.Web.UI.WebCont

System.Web.UI.WebControls.ListItemType.AlternatingItem这句的意思

问题描述 if(e.Item.ItemType==System.Web.UI.WebControls.ListItemType.Item||e.Item.ItemType==System.Web.UI.WebControls.ListItemType.AlternatingItem)这句什么意思.System.Web.UI.WebControls.ListItemType.Item这句呢System.Web.UI.WebControls.ListItemType.AlternatingItem这

Label.Text已经赋值,为什么显示的是System.Web.UI.WebControls.Label

问题描述 这是我的代码publicpartialclassDefault2:System.Web.UI.Page{stringhavote;protectedvoidPage_Load(objectsender,EventArgse){HttpCookiecookie=Request.Cookies["CookieExmp"];if(cookie!=null){Label2.Text=cookie.Values["yaoming"];Label4.Text=cook

无法将类型“System.Web.UI.WebControls.DropDownList”隐式转换为“string”

问题描述 <asp:DropDownListID="DropDownList1"runat="server"AutoPostBack="false"OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged1"DataSourceID="SqlDataSource1"DataTextField="Title"DataValu

在Web项目开发中使用BasePage类的巧用(继承System.Web.UI.Page)

web|继承|项目 在web项目开发,我们基本每页都要与数据库连接,是不是每页都要实例化数据库对象呢?当然不用,只要我们写一个继承Page类的类就可以了.只要我们每个CodeBehind页面都继承这个类,就直接可以调用此类的属性了.以此类推,我们还可以加入一些项目中经常要用到的功能. 以C#为例,列出代码. using System; using System.Diagnostics; using System.Web; using DbLayer ; using System.Web.UI.W