【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模块所产生的时 ...
随机推荐
- javascript 编程技巧
1.巧用判断: 在js中,NaN,undefined,Null,0,"" 在转换为bool的时候,是false,所以,可以这样写. if(!obj) {} 表示一个对象如果为fal ...
- Meta也很强
<!--http-equiv 必要属性--> <meta http-equiv="Content-Type" content="text/html; c ...
- Java注解(自定义注解、view注入)
注解这东西虽然在jdk1.5就加进来了,但他的存在还是因为使用Afinal框架的view注入才知道的.一直觉得注入特神奇,加了一句就可以把对应view生成了. 下面我们来认识一下注解这个东西 一.注解 ...
- DWZ(JUI) 教程 中如何整合第三方jQuery插件
Query插件一般是$(document).ready()中初始化 $(document).ready(function(){ // 文档就绪,初始化jQuery插件| }); // 或者或缩写形 ...
- 英特尔® 实感™ SDK 前置摄像头 (F200) 常见问题解答
原文地址 https://software.intel.com/zh-cn/articles/intel-realsense-sdk-faq-for-front-facing-camera-f200? ...
- 【学习笔记】【C语言】类型说明符
1. short和long 1> short和long可以提供不同长度的整型数,也就是可以改变整型数的取值范围.在64bit编译器环境下,int占用4个字节(32bit),取值范围是-231~2 ...
- 4月13日学习笔记——jQuery动画
基本动画函数 $("#divPop").show(); $("#divPop").hide(); $("#divPop").toggle() ...
- vs2010 配置OpenGL
为了之后的项目学习,需要学习OpenGL.在此进行下记录,方便查询. 准备工作: 到https://www.opengl.org/resources/libraries/glut/glutdlls37 ...
- POJ1056 IMMEDIATE DECODABILITY【数据结构】
题目地址:http://poj.org/problem?id=1056 Description An encoding of a set of symbols is said to be immedi ...
- .NET中的注释种类,单行注释、多行注释、文档注释。。。
注释不是给编译器看的,而是给程序员看的.是程序员之间交流的一种方式.好的程序员一定要有完善的注释. .NET注释类型. 1.单行注释 // a.当代码行比较短时,注释可以放在代码后面. b.当代码行 ...