【img】 图片是怎么存储的
用ue 打开一张图片,动动手脚,出现卡碟的画面效果。

可不可以用C#来做一个图片编辑器? 怎么做?路线怎么走?
稍后揭晓答案
根据实际操作获取类一些基础知识:
1. 文件是二进制存储的,为了便于查看编辑器只提供16进制显示 图片文档结构复杂 不益展示
2. 16进制文件每一行都有行标
3. 可能会有分块数据 通过某些标识来区分
上述了解的信息让我想到了一件事,找标准!找标准!
答案应该是可以的。首先来找一个标准
万能的互联网告诉我们jpeg的前世今生,写图片编辑器的作者一定要看这个标准。
bmp:
size:52270

jpg
size:2417

bmp,jpg,png 格式还挺多
bmp 大白话 一五一十的描述;
jpg 会用概况总结了, 用简短的方式准确的描述;
性格决定命运, bmp表达时显得比较啰嗦,如果太复杂的事情是不能指望bmp来做的,他会烦死你 极其费存储(讲的都对但都是废话),但电脑喜欢这货,因为电脑就是一个直脑子,你最好是把让我干的事情一是一二是二的告诉我,所以小bmp打开的速度极快,但是复杂的图片bmp是无能为力的,一张图片几百兆 谁都受不了。
jpg可以把bmp的表达提炼总结成很短的内容, 那么问题来了,总结概要就要牺牲细节,所以jpg比起bmp不够细,但是压缩后占空间非常小。这就决定了jpg可以扮演很多角色,互联网传输需要小而准的格式。jpg更加艺术,所以jpg是更高等的格式。 解析jpg要稍复杂。但用户是看总体工作量完成的效率和质量,所以jpg的特点完胜了。
电脑或软件必须内置对应的解码器才能解析这些格式,在使用视频播放器的时候经常会遇到让我们更新解码包的问题。
关于电脑图像处理仔细想来 还是按照人的意志 重复的高效的来完成工作,也没有什么难理解的。
下一篇来完成一个C# 给图片打马赛克的效果。
【img】 图片是怎么存储的的更多相关文章
- .Net简单图片系统-本地存储和分布式存储
本地存储 所谓本地存储就是将上传图片保存到图片服务器的本地磁盘上. if (ConfigHelper.GetConfigString("SaveMode") == "Lo ...
- [转]c# 画图中bitmap类处理出图片时,存储的注意事项
今天查找以前写的画图程序,想完善一下,发现 图片添加文字水印时候会有些模糊,特别是小字体的时候特别模糊, 经过一番调适,终于发现了问题 帖上代码,警示自己 System.Drawing.Image i ...
- JavaWeb图片显示与存储
在数据库中存储文件的名称,在存储信息资料里面存下照片,利用文件名称. 代码如下: 其中iamgeFile为 图片存储的路径userImages/ Resultuser.setImageName(Pro ...
- 使用net core 6 c# 的 NPOI 包,读取excel..xlsx单元格内的图片,并存储到指定服务器
这个是记录,单元格的图片. 直接上代码,直接新建一个 net core api 解决方案,引用一下nuget包.本地创建一个 .xlsx 格式的excel文件 using ICSharpCode.Sh ...
- Python爬虫抓取糗百的图片,并存储在本地文件夹
思路: 1.观察网页,找到img标签 2.通过requests和BS库来提取网页中的img标签 3.抓取img标签后,再把里面的src给提取出来,接下来就可以下载图片了 4.通过urllib的urll ...
- 项目图片上传存储的目录部分代码思路Calendar类获取年月日
在项目中将产品图片全部放置在一个文件夹下面的话,如果图片很多的话,加载速度会减慢,可以按照文件夹按年,月,日来分开存放,图片文件名字取系统时间long类型加上5位随机数字码避免重复. Calendar ...
- 图片以BLOB存储在后台数据库中,Android客户端要进行读取显示
解决方法: 1:在后台以InputStream的方式将图片从数据库中读出: public static InputStream getPicInputStream(){ String id = &qu ...
- [Egret]长按图片分享、分享图片、本地存储
egret 分享有API可以把一个显示对象树渲染成一个位图纹理,我把它赋值给 HTML 的 Image 元素,就实现了图片的显示,在微信中,通过长按图片可以分享出去.当然在其他浏览器可以保存在本地. ...
- Django中web开发用md5加密图片名并存储静态文件夹
一般在开发中,有的网站存在大量图片,首先图片的名称是不能重复的, 但是除了数据库可用的id以外我们可以用time模块中time.time()获取的时间来进行md5加密操作, 因为time模块所产生的时 ...
随机推荐
- windows更新npm
今天遇到一个项目需要更新npm的版本,搜了一下如何更新npm的方法,有的人说直接重装node,npm版本就会是最新的,真是无力吐槽,要是每次更新都得这么麻烦还得了,我觉得一定有更好更简单的方法,最后果 ...
- POJ 1182 食物链 (并查集)
食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 50601 Accepted: 14786 Description ...
- 编译项目报错: Ignoring file / xxx , missing required architecture i386 in file / xxx (2 slices)
.lib 或者 .a需用于真机版本,也就是ARM7的,如果你编译的是模拟器就会出现这个错误: 选择真机调试即可 .
- iOS UILable高度自适应
适用于iOS6以后 NSString *tip = @"UILable高度自适应,UILable高度自适应,UILable高度自适应"; UILabel label_2 = [[U ...
- Java之累加和
所谓累加算法,就是数学中数列求的算法,这都是司空见惯了的.下面我们用java求: package com.cdp.leijiahe; import java.util.Scanner; public ...
- Ubuntu上OpenStack DashBoard主题修改的方案
最近终于把OpenStack的整个初步环境安装部署并配置成功,后续工作就是安装一些可选项了,如Cinder.Swift部件了.我们的整个项目采用的颜色方案主要为清淡色系,蓝色为主,可OpenStack ...
- 标识映射(Identify Map)
通过在Map中保存每个已加载过的对象,确保每个对象只加载一次. 当要访问对象时,首先检查标识映射,看需要的对象是否已经存在其中. 使用Identify来确保不重复加载相同的数据,不仅有助于保证正确性( ...
- webSphere提示SSL证书过期,解决方法
1.点击Security ------SSL certificate and key management2.点击Related Items下的key stores and certificates3 ...
- webSphere中文日志乱码,设置日志编码方法
1:管理控制台--->服务器--->应用程序服务器--->server1--->java和进程管理--->进程定义--->java虚拟机--->将通用jvm ...
- 关于火狐浏览器不支持img onerror的办法
项目中,要使用到缺省图,除了火狐浏览器,其它浏览器都支持img onerror事件.我使用到的解决的办法就是给图片的外层标签加背景,背景图用的就是缺省图. 上代码 <img src=" ...