C# 如何修改图片的储存大小,比如10MB改为5MB。

C# 如何修改图片的储存大小,比如10MB改为5MB。,第1张

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

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

准备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路径

完成

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

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

就在前不久腾讯公司宣布它的用户已经突破九亿人。用户信息最久都已经保存了近二十年。为什么不论用户在何时何地打开软件都可以找到自己上传的信息,而且还能非常寻迅速的下载下来。

云存储技术也是这几年新兴起的一种快速便捷的网络存储技术。就像云彩一样,无论人去哪里,抬头都能看到空中的云彩。云存储就是实现了这样的功能,无论在任何地方都可以打开网络下载上传,而且速度很快。为了实现这个功能,公司在全球建立了二十四个分区和四十四个数据处理中心和一千多个节点。这一个中心有多大呢?几乎每个数据中心的规模都要超过十万台服务器。而用户的信息则放在数据节点上,只要用户在这个地域使用该软件,就会很快的为用户提供数据支持。

安全的信息保护功能,现代社会随着信息的爆炸式增长,人们几乎都在网络的覆盖之下,人们对个人信息的安全日益重视,生怕稍有疏忽就会导致个人隐私泄露。为了免除用户的后顾之忧保护用户信息安全,大部分信息都不会上传到服务器里。如果用户选择清理手机空间,这些信息也会被彻底删除。除非是主动上传到个人的空间或者是网盘,否则服务器不会接收存储你的个人信息。

而且,分布式存储也能起到很好的保密作用,除非经过用户的请求允许,不然是很难拿到用户的完整数据。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/309693.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存