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

qq_28664775 2015-06-23 04:39:49
如题,有解决方法没,我想实现 System.Web.UI.WebControls.Image 和using System.Drawing.image的互转
...全文
261 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_28664775 2015-06-24
  • 打赏
  • 举报
回复
就是说如何把http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这个地址重新转成流,,生成的时候是用的js出来的,是我复制过来的,,转换就不知道了
引用 17 楼 starfd 的回复:
你这个夸张了,http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这个地址不就是你自己写的后台读取数据流显示成图片么?你把那段读取成Image的代码拿来用就可以了,干嘛要通过这个地址来读取成Image?
qq_28664775 2015-06-24
  • 打赏
  • 举报
回复
引用 17 楼 starfd 的回复:
你这个夸张了,http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这个地址不就是你自己写的后台读取数据流显示成图片么?你把那段读取成Image的代码拿来用就可以了,干嘛要通过这个地址来读取成Image?
我想把他再变成流,,,再通过流转换成using System.Drawing.image
  • 打赏
  • 举报
回复
你这个夸张了,http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683这个地址不就是你自己写的后台读取数据流显示成图片么?你把那段读取成Image的代码拿来用就可以了,干嘛要通过这个地址来读取成Image?
qq_28664775 2015-06-24
  • 打赏
  • 举报
回复
引用 15 楼 starfd 的回复:
我9L给你的回复就是这样子的啊…… 不过不是从地址栏读取图片,而是你原来怎么显示的图片的就还是怎么读取
不能用流的方式读取 http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683 他会报这个错
  • 打赏
  • 举报
回复
如果你确定你的url是一个静态图片(换一个机器的浏览器也可以直接打开),可以在浏览器上“另存为图片”(不需要什么权限),那么你就可以直接获取byte[ ],例如
byte[] data = new WebClient().DownloadData("http://avatar.csdn.net/1/8/D/1_sp1234.jpg");
或者
byte[] data = new WebClient().DownloadData("http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683");
但是,在设计成一个自动化程序时,你需要自动化地取得url,而不要手工获取url。
insus 2015-06-24
  • 打赏
  • 举报
回复
参考随机截取图片一部分: http://www.cnblogs.com/insus/p/3629269.html (本例是截取一部分作为验证码背景图)
  • 打赏
  • 举报
回复
我9L给你的回复就是这样子的啊…… 不过不是从地址栏读取图片,而是你原来怎么显示的图片的就还是怎么读取
qq_28664775 2015-06-23
  • 打赏
  • 举报
回复
引用 2 楼 starfd 的回复:
这两者不是一个东西,怎么互转呢…… 你应该是用一个aspx或者ashx或者其它来作为System.Drawing.Image的显示载体,然后System.Web.UI.WebControls.Image将Url指向该aspx或ashx
我想实现这样的方式,你看看行不行,地址栏的图片是jpg形式的,先从地址栏读取图片流 然后生成 System.Drawing.Image的图,然后直接截图 ,然后保存截图 ,你看看这样行不行
qq_28664775 2015-06-23
  • 打赏
  • 举报
回复
引用 11 楼 sp1234 的回复:
首先你要在你的浏览器上确定 http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683 这种地址能不能直接显示图片,并且另存为图片文件。
在页面上也可以存的
qq_28664775 2015-06-23
  • 打赏
  • 举报
回复
引用 11 楼 sp1234 的回复:
首先你要在你的浏览器上确定 http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683 这种地址能不能直接显示图片,并且另存为图片文件。
可以直接显示图片的,另存就不知道了
  • 打赏
  • 举报
回复
首先你要在你的浏览器上确定 http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683 这种地址能不能直接显示图片,并且另存为图片文件。
qq_28664775 2015-06-23
  • 打赏
  • 举报
回复
就是点击确定后就截图
  • 打赏
  • 举报
回复
http://blog.csdn.net/starfd/article/details/44850449 原来怎么从blob取出数据转化成Image截图时还是这么做,后面再参考上面的AdjImageToFitSize方法
qq_28664775 2015-06-23
  • 打赏
  • 举报
回复
引用 5 楼 starfd 的回复:
你给了一个本地测试路径打不开的啊…… blob:http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683 这个看不懂什么意思啊,blob是oracle的数据类型,后面有个冒号,冒号后面又是一个url
代码是这样写的 function setImagePreview(avalue) { var docObj = document.getElementById("fileField"); alert("a"); if (docObj.files && docObj.files[0]) { //火狐下,直接设img属性 //imgObjPreview.src = docObj.files[0].getAsDataURL(); //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式 var t=window.URL.createObjectURL(docObj.files[0]); alert(t); location.href = "Account settings.aspx?Url="+t; } else { //IE下,使用滤镜 docObj.select(); var imgSrc = document.selection.createRange().text; var localImagId = 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("您上传的图片格式不正确,请重新选择!"); return false; } imgObjPreview.style.display = 'none'; document.selection.empty(); } return true; } 复制过来改了一些东西。。。
qq_28664775 2015-06-23
  • 打赏
  • 举报
回复
引用 6 楼 starfd 的回复:
难道你这个是要做图片加载后按比例截取此图片的一部分?
是的
  • 打赏
  • 举报
回复
难道你这个是要做图片加载后按比例截取此图片的一部分?
  • 打赏
  • 举报
回复
你给了一个本地测试路径打不开的啊…… blob:http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683 这个看不懂什么意思啊,blob是oracle的数据类型,后面有个冒号,冒号后面又是一个url
qq_28664775 2015-06-23
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
System.Web.UI.WebControls.Image 是控件,通过属性url显示的是图片的指向。 System.Drawing.image 是图像 一般使用方式是通过System.Web.UI.WebControls.Image 控件指向一个ashx或者aspx页面,ashx或aspx刷出image。 两个不能直接互转。
这些都知道,,主要是要截取图片就要用到System.Drawing.image 啊
qq_28664775 2015-06-23
  • 打赏
  • 举报
回复
引用 2 楼 starfd 的回复:
这两者不是一个东西,怎么互转呢…… 你应该是用一个aspx或者ashx或者其它来作为System.Drawing.Image的显示载体,然后System.Web.UI.WebControls.Image将Url指向该aspx或ashx
我现在要截图。。然后需要把 System.Web.UI.WebControls.Image 转换成using System.Drawing.image 这个 图片路径是blob:http://localhost:20373/dfa9ad16-87c8-42c0-b238-89cc16488683 不能让流去读取啊。。给个思路呗、/、
  • 打赏
  • 举报
回复
这两者不是一个东西,怎么互转呢…… 你应该是用一个aspx或者ashx或者其它来作为System.Drawing.Image的显示载体,然后System.Web.UI.WebControls.Image将Url指向该aspx或ashx
加载更多回复(1)

62,052

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧