论坛怎么修改服务器照片大小,C# 如何修改图片的储存大小,比如10MB改为5MB。...

你是指你希望“程序化”的自动伸缩图片大小吗?

你这个方案的确可以做,但是实现起来有点绕弯,其实目前各大网站做法是这么实现的:

准备2~3种同一个图片的不同大小格式(如完整尺寸70M,大尺寸500kb,小尺寸5kb)

当用户打开网页时,默认页面上显示的都是小尺寸的图片(一般用后缀区分:风景-small.jpg)

当用户希望查看大图时,实际上在弹出的窗口里显示的是中号图(例如:风景-big.jpg)

当用户希望下载原图时,则给出原图的URL(例如:风景-realsize.jpg)

当然如果为了一些特殊目的,文件名还可以经过特殊处理。

总之就是:其实你看到的大中小图片,在服务器端存储的是不同的图片文件。。。

--------------------------------- 华丽的分割线 ---------------------------------

话说回来,如果动态调节图片大小本来就是你要实现的程序逻辑,那么实现方法需要你对下列知识有足够的理解:

1. 磁盘IO流

2. 画布和bmp、jpg等图片格式的基本知识(包括图片尺寸大小和图片质量以及文件大小的关系)

3. 通过后台cs文件动态控制html页面元素的知识

如果你这些都会,那么实现方法是这样的:

获取大图片文件的句柄

计算显示在网页上的“小图片”的【文件大小】(如你需要的3m)

算出源图片和将要显示在页面上的这个小图文件大小的比例(例如你说的10m:5m)

因此获得小图是大图画布尺寸的50%(在不改变格式和质量的前提下)

按照计算出来的小图片的宽和高,创建一个新的画布(系统类库)

自己编写取样过程,或者用微软提供的类库将大图的内容【绘入】小图的画布中

将生成的小图画布保存到磁盘中,放在客户浏览器也能访问的目录,可以起个随机的名字

利用后台cs代码动态的把页面上所需要显示这张图片的位置的html代码改为小图的文件名和URL路径

完成

这种方式就是你想要的【在网页显示时候调整图片大小】的实现方式。。。。

除非你老板或者你的作业明确要求实现这种逻辑,劝你还是用分割线上面的,目前比较通用的做法比较好。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值