紧急求助~Div背景图片问题,请高手帮忙~

frankfuse 2008-12-10 11:03:26
请问如何使div的背景图片自动适应大小啊。现在要在单元格里显示照片,我用照片做背景,div里还有人的名字。但有的上传的照片比较大,人头都跑到外面了。
好急,在线等。

前提是要用background-image来设置背景图片。这个很重要,不能改变。因为前台取div里的内容是用直取element,如果改成 <img>的话,那我整个程序都得重做,拜托。。
其次,如果各位大侠能告诉我如何从改变从数据库取出来的图片的高和宽也可以。读出来的都是byte型的,小弟实在不会。请赐教,感激不尽。。。
Byte[] pictureData = (Byte[])(pictureTable.Rows[0]["Image"]);

Page.Response.OutputStream.Write(pictureData, 0, pictureData.Length);
Page.Response.End();
...全文
2128 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
a173980067 2009-08-25
  • 打赏
  • 举报
回复
213213
effun 2008-12-10
  • 打赏
  • 举报
回复
在Div的onresize事件中重新设置背景图片的URL。

var div = event.srcElement;
div.style.backgroundImage = "url(bg.aspx?w=" + div.offsetWidth +"&h=" + div.offsetHeight + ")";
frankfuse 2008-12-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 mengxj85 的回复:]
Div做成活的,不设宽度和高度
[/Quote]
现在是要把图片做成活的,谢谢。。。因为那是个像框。一个列表里放好多照片,每个单元格放一个,总不能有大有小吧。
frankfuse 2008-12-10
  • 打赏
  • 举报
回复
那是个图片,打成byte数组了,用gdi+我还面前知道怎么做,但这Asp.net,我是试了好久都没出来。
tian_fang 2008-12-10
  • 打赏
  • 举报
回复
能不能把byte类型在转换成你想要的类型呢?
mengxj85 2008-12-10
  • 打赏
  • 举报
回复
Div做成活的,不设宽度和高度
frankfuse 2008-12-10
  • 打赏
  • 举报
回复
更改图片也行,我后面不是说了么,但是,现在是只有byte类型的,不知道怎么改,请赐教。
MicroDeviser 2008-12-10
  • 打赏
  • 举报
回复
div固定就好办啊
在读出图片时,设置图片的宽和高跟div一样啊

但是不知道background-image的url能不能这写成img.aspx?ID=xxxx

img.aspx 用来输出图片
小_虎 2008-12-10
  • 打赏
  • 举报
回复
如果是div是固定的,那么把图片更改下不行吗??
frankfuse 2008-12-10
  • 打赏
  • 举报
回复
本来就是固定的,我是说背景图片,显示不全。因为图片大,div小
supremeholy 2008-12-10
  • 打赏
  • 举报
回复
把div的宽与高固定,
effun 2008-12-10
  • 打赏
  • 举报
回复
sorry, 没有仔细看你的帖子。如果要改变数据库中图片的大小并输出到浏览器中,可以使用GDI+的Bitmap类型,System.Drawing.Bitmap,甚至你还可以把名字直接绘制在图片上面,就不需要客户端这么复杂了,顺手写一个例子,不一定好用,仅供参考。



int width = ...; // 获取宽度
int height = ...; // 获取高度

// 从DataTable中生成Image对象
MemoryStream imgStm = new MemoryStream((byte[])pictureTable.Rows[0]["Image"];
Image bm = new Bitmap(imgStm);

// 生成缩略图,后面两个参数请参考MSDN里关于这个方法的帮助。
Image thumb = bm.GetThumbnailImage(width, height, callback, IntPtr.Zero);

// 在缩略图的左上角写名字。
Graphics g = Graphics.FromImage(thumb);
g.DrawString("你的名字我的姓氏", SystemFonts.DefaultFont, new Point(0, 0));
g.Dispose();

// 将缩略图以JPG的格式传送到客户端。
Response.Clear();
Response.ContentType = "image/jpg";
thumb.Save(Response.OutputStream, ImageFormat.Jpeg);

// 释放非托管资源。
thumb.Dispose();
bm.Dispose();
imgStm.Close();

Response.End();
koukoujiayi 2008-12-10
  • 打赏
  • 举报
回复
楼主不要再费心了,
要控制backgroundImage的大小就目前来说不能办到!!
leafbupt 2008-12-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 frankfuse 的回复:]
引用 10 楼 effun 的回复:
在Div的onresize事件中重新设置背景图片的URL。

var div = event.srcElement;
div.style.backgroundImage = "url(bg.aspx?w=" + div.offsetWidth +"&h=" + div.offsetHeight + ")";


div是不让动的。。。
[/Quote]

找一下生成缩略图的代码?
直接生成相应大小的缩略图当背景如何?
frankfuse 2008-12-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 effun 的回复:]
在Div的onresize事件中重新设置背景图片的URL。

var div = event.srcElement;
div.style.backgroundImage = "url(bg.aspx?w=" + div.offsetWidth +"&h=" + div.offsetHeight + ")";
[/Quote]

div是不让动的。。。

62,269

社区成员

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

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

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

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