用ue 打开一张图片,动动手脚,出现卡碟的画面效果。

可不可以用C#来做一个图片编辑器? 怎么做?路线怎么走?

稍后揭晓答案

根据实际操作获取类一些基础知识:

1. 文件是二进制存储的,为了便于查看编辑器只提供16进制显示 图片文档结构复杂 不益展示

2. 16进制文件每一行都有行标

3. 可能会有分块数据 通过某些标识来区分

上述了解的信息让我想到了一件事,找标准!找标准!

答案应该是可以的。首先来找一个标准

http://baike.baidu.com/link?url=lPvVtKyy_NM8ZGsaOj5NNgaNraK2KYbuwg3tqyXCuRtSulra4Tw9Nh5DRTEv6w5WQVy4pMzwChXoZ7R1K5RGka

万能的互联网告诉我们jpeg的前世今生,写图片编辑器的作者一定要看这个标准。

bmp:

http://baike.baidu.com/link?url=2S5uLAjqyO3IgSCdXqKjrdwSY8qUBXAgsu9sk1y5IY6JJ6py_f2Q2W0IPSqbQFRtC5Oc-bRJsHRVvE3arRfmHjI6ZEHFnV11Toafp6fUc3K

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】 图片是怎么存储的的更多相关文章

  1. .Net简单图片系统-本地存储和分布式存储

    本地存储 所谓本地存储就是将上传图片保存到图片服务器的本地磁盘上. if (ConfigHelper.GetConfigString("SaveMode") == "Lo ...

  2. [转]c# 画图中bitmap类处理出图片时,存储的注意事项

    今天查找以前写的画图程序,想完善一下,发现 图片添加文字水印时候会有些模糊,特别是小字体的时候特别模糊, 经过一番调适,终于发现了问题 帖上代码,警示自己 System.Drawing.Image i ...

  3. JavaWeb图片显示与存储

    在数据库中存储文件的名称,在存储信息资料里面存下照片,利用文件名称. 代码如下: 其中iamgeFile为 图片存储的路径userImages/ Resultuser.setImageName(Pro ...

  4. 使用net core 6 c# 的 NPOI 包,读取excel..xlsx单元格内的图片,并存储到指定服务器

    这个是记录,单元格的图片. 直接上代码,直接新建一个 net core api 解决方案,引用一下nuget包.本地创建一个 .xlsx 格式的excel文件 using ICSharpCode.Sh ...

  5. Python爬虫抓取糗百的图片,并存储在本地文件夹

    思路: 1.观察网页,找到img标签 2.通过requests和BS库来提取网页中的img标签 3.抓取img标签后,再把里面的src给提取出来,接下来就可以下载图片了 4.通过urllib的urll ...

  6. 项目图片上传存储的目录部分代码思路Calendar类获取年月日

    在项目中将产品图片全部放置在一个文件夹下面的话,如果图片很多的话,加载速度会减慢,可以按照文件夹按年,月,日来分开存放,图片文件名字取系统时间long类型加上5位随机数字码避免重复. Calendar ...

  7. 图片以BLOB存储在后台数据库中,Android客户端要进行读取显示

    解决方法: 1:在后台以InputStream的方式将图片从数据库中读出: public static InputStream getPicInputStream(){ String id = &qu ...

  8. [Egret]长按图片分享、分享图片、本地存储

    egret 分享有API可以把一个显示对象树渲染成一个位图纹理,我把它赋值给 HTML 的 Image 元素,就实现了图片的显示,在微信中,通过长按图片可以分享出去.当然在其他浏览器可以保存在本地. ...

  9. Django中web开发用md5加密图片名并存储静态文件夹

    一般在开发中,有的网站存在大量图片,首先图片的名称是不能重复的, 但是除了数据库可用的id以外我们可以用time模块中time.time()获取的时间来进行md5加密操作, 因为time模块所产生的时 ...

随机推荐

  1. angularJs中上传图片/文件功能:ng-file-upload

    原文技术交流:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/angularjs-ng-file-upload/ 在做网站的过程中难 ...

  2. HTTPS的工作原理

    参考自<图解HTTP> 果壳网http://www.guokr.com/post/114121/ HTTPS的工作原理 增加了一层:HTTPS流程:应用层 HTTP->SSL/TLS ...

  3. C#之ArrayList

    using System.Collections; 新建: ArrayList list = new ArrayList(); 添加元素: int a = 1; list.Add(a); 遍历: fo ...

  4. sass中出现的中文问题

    在这园子里看到了很多优秀的资源,自己也想写写东西,就突然想到了以前遇到写sass的时候出现中文乱码的解决方案.所有就自己又总结了一下.(以下测试步骤都是自己完成的!没有任何转载,如有错误,希望大家指正 ...

  5. 跟我一起学习ASP.NET 4.5 MVC4.0(五)(转)

    前面几篇文章介绍了一下ASP.NET MVC中的一些基础,今天我们一起来学习一下在ASP.NET MVC中控件的封装.在页面中我们会经常使用到Html对象,来程序控件,当然这里的控件不是说ASP.NE ...

  6. Zend studio 12.5.1安装aptana

    aptana是zend studio的一个插件.解决zend对于前台html支持,加亮的问题. 安装方法其实很简单 ,直接给出aptana的地址了. http://download.aptana.co ...

  7. asp.net判断访问者是否来自移动端

    主要就是通过客户端传递的User-agent来判断访问网站的客户端是PC还是手机. .NET中就是Request.ServerVariables["HTTP_USER_AGENT" ...

  8. .NET XML文件增删改查

    查询 采用的是DataSet 的 ReadXML方法. DataSet ds = new System.Data.DataSet(); ds.ReadXml("bdc.xml"); ...

  9. centos7没有安装ifconfig命令的解决方法

    ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig等命令,这时候你进入终端,运行ifc ...

  10. 新手学习ios开发的辅助工具

    完整APP项目源码: Objective-C https://github.com/singro/v2ex Swift https://github.com/YANGReal/JokeClient-S ...