【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模块所产生的时 ...
随机推荐
- linux初学 :简易的shell脚本
什么是shell Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的 Shell有两种执行命令的方式: 交互式(Interacti ...
- 给定数组a[N]构造数组b[N]
转自:http://blog.csdn.net/wumuzi520/article/details/7841280 给定一个数组a[N],我们希望构造数组b [N], 其中b[j]=a[0]*a[1] ...
- 学习Slim Framework for PHP v3 (五)--route怎么被调用的?
上一篇中分析了get()如何加入新的route的,这篇来分析route是如何被调用的. 首先,route是在routers里保存,router有在container中存放.container提供了ge ...
- 十六、Android 滑动效果汇总
Android 滑动效果入门篇(一)—— ViewFlipper Android 滑动效果入门篇(二)—— Gallery Android 滑动效果基础篇(三)—— Gallery仿图像集浏览 And ...
- VHDL MOD和REM(转)
mod(取模)and rem(取余) VHDL has mod and rem. They return the same value if both arguments are positive. ...
- Memcached解决单台服务器故障问题
<beitmemcached> <add key="name1" value="server1:port" /> <add key ...
- Focus相关点滴
获取当前焦点所在的控件. .Net本身没有该API.必须使用Win32 API解决. internal static extern IntPtr GetFocus(); Control focused ...
- Java对象初始化详解(转)
在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的.本文试图对Java如何执行对象的初始化做一个详细深入地介绍(与对象初始化相同,类在被加载之后也是需要初始化的,本 ...
- sort()的多种用法
sort() 方法用于对数组的元素进行排序. 一.默认情况 在默认情况下, sort() 方法按升序排列数组项.为了实现排序, sort() 方法会调用每个数组项的 toString() 转型方法, ...
- 10款很好用的 jQuery 图片滚动插件
jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各种很酷的图片效果,它可以让的网站更具吸引力.这里收集了10款很好 ...