控制图片大小!

qq26726592 2008-11-17 10:45:10
<img alt="" src="upload/<%# DataBinder.Eval(Container.DataItem,"img")%>" />
如何在网页中控制一张图片的大小?怎么把图片存到数据库中?(这个功能能实现吗)
...全文
112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lee576 2008-11-17
  • 打赏
  • 举报
回复
不建议存数据库,麻烦,一般的做法是存图片的路径,另外真正的缩略图实际是生成一张新图,
只能用后台代码处理生成,如果用javacript处理只不过是把图显示成小图而已,图还是原来那张图
jhdxhj 2008-11-17
  • 打赏
  • 举报
回复
你可以把图片在出传之前先通过程序做成缩略图,然后再上传,数据库中存放图片的名称就行了,我给你一段做成缩略图的代码,你自己看看:
public static Image MakeThumbnailMap(Image img, int nWidth, int nHeight, string strMode)
{
int nTowidth = nWidth;
int nToheight = nHeight;
int nX = 0;
int nY = 0;
int nOw = img.Width;
int nOh = img.Height;

switch (strMode)
{
case "HW"://指定高宽缩放(可能变形)
break;
case "W"://指定宽,高按比例
nToheight = img.Height * nWidth / img.Width;
break;
case "H"://指定高,宽按比例
nTowidth = img.Width * nHeight / img.Height;
break;
case "Cut"://指定高宽裁减(不变形)
if ((double)img.Width / (double)img.Height > (double)nTowidth / (double)nToheight)
{
nOh = img.Height;
nOw = img.Height * nTowidth / nToheight;
nY = 0;
nX = (img.Width - nOw) / 2;
}
else
{
nOw = img.Width;
nOh = img.Width * nHeight / nTowidth;
nX = 0;
nY = (img.Height - nOh) / 2;
}
break;
default:
break;
}

//新建一个bmp图片
System.Drawing.Image bitMap = new System.Drawing.Bitmap(nTowidth, nToheight);

//新建一个画板
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitMap);

//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

//清空画布并以透明背景色填充
g.Clear(System.Drawing.Color.Transparent);

//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(img, new System.Drawing.Rectangle(0, 0, nTowidth, nToheight),
new System.Drawing.Rectangle(nX, nY, nOw, nOh),
System.Drawing.GraphicsUnit.Pixel);

return bitMap;
}
辉之不趣 2008-11-17
  • 打赏
  • 举报
回复
能实现,把图片做成二进制编码后,存到数据库,但一般不建议使用,一般在数据库只存文件名即可
qq26726592 2008-11-17
  • 打赏
  • 举报
回复
把图片做成缩略图存进数据库!是这个功能能实现吗!
zhong2006 2008-11-17
  • 打赏
  • 举报
回复
设置img的 width 及 height,看你 上面绑定方式,应该是把图片名称存在数据库了 ,这样就可以了啊

62,046

社区成员

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

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

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

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