位图

Linux文件系统

独自空忆成欢 提交于 2019-12-24 20:27:41
1、文件系统是建立在分区上的,可以看作是一个应用程序,用来组织和管理文件。 ext2的文件存储结构如下所示: boot block + 块组1 + 块组2 + 块组3 +..... 其中块组结构下图所示: 由超级块组、GDT块组描述表、inode位图、块位图、inode表、数据块组成 2、ext2分为数据区和元数据区 ext3分为数据区、元数据区、日志区 ext3属于日志文件系统,写数据时,先写入日志区,然后再从日志区写入数据区。这种文件类型可以在出现突然断电等异常情况时,准确定位到异常的位置,加快文件系统修复的速度。其代价就是在写数据时速度会比ext2慢一些,读数据时没有影响。 3、文件分区的一些操作命令 fdisk -l :查看分区情况 fdisk /dev/sda :对/dev/sda分区进行操作。下面都是在这个基础上进行的操作, m 查看帮助 p 查看 n 新建分区 d 删除分区 t 修改分区类型 q 退出不保存 w 保存并退出 4、创建完分区后配置不会立刻写入内核中,可以用cat /proc/partitions来查看内核中的配置,若不一致,可以用partprobe /dev/sda 命令来通知内核分区表的变化 5、每个块组中所包含的块的个数,是由块的大小决定的,因为块位图是存在一个块中的,每个块占一位(0表示没有使用,1表示已经使用)。假如块大小是1024字节

BMP图片格式

孤者浪人 提交于 2019-12-24 15:08:53
BMP图片   BMP采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit和32bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。BMP图片格式后缀为BMP或者bmp。   注意:数值在存储上都是按“高位放高位、低位放低位的原则”,如12345678h放在存储器中就是7856 3412)。 BMP文件分为四个部分,分别是位图文件头、位图信息头、彩色板、图像数据阵列。 例如:424D 4690 0000 0000 0000 4600 0000*2800 0000 8000 0000 9000 0000 0100 1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 ........ 在分析中为了简化叙述,以一个字(两个字节为单位,如424D就是一个字)为序号单位进行。 1.  位图文件头。长度为32个字节  1)1 文件标识符 424D="BM

20189208 2018-2019-2 《移动平台开发实践》第8周学习总结

冷暖自知 提交于 2019-12-21 05:16:59
20189208 2018-2019-2 《移动平台开发实践》第9周学习总结 教材学习内容总结 字节流:处理二进制文件 文本流:处理文本文件 用jshell进行测试 数字与字符串转换: 123+“”; Integer.ParseInt("123"); 31章ListView 介绍了使用列表的方法。要使用ListView要先创建ListAdapter.由于ListActivity包含ListView、监听器。如果活动只有一个ListView组件,ListActivity是首选。 32章 GridView 网格视图GridView微件是滚动网格列表,通过ListAdapter获取数据源和布局。 33章样式和主题 样式相关的内容存储在res/values/styles.xml。 主题相关的内容存储在清单文件 android:them="@android:style/Them.Black.NoTitleBar" 样式涉及字体、背景、出现方式等方面的属性。 34章位图处理 位图包括JPEG、PNG、Gif。本章介绍了处理位图的API,包括修改像素,压缩图像。 教材学习中的问题和解决过程 问题1:GridView和菜单的区别 问题1解决方案:GridView网格排列,而菜单是一列排列。 问题2:Android菜单有几种? 问题2解决方案: 选项菜单Option Menu

WPF之图片处理系列

不羁的心 提交于 2019-12-20 06:37:34
WPF 中的一些图片处理方法 一,视觉处理(控件展示) 1,显示图片 Image控件展示 Xaml代码: <Image source="/Resources/Images/1.png"/> 缩放位图渲染算法 Xaml代码: <Image Source="/Resources/Images/1.jpg" RenderOptions.BitmapScalingMode="Fant"/> 枚举值 描述 Fant 使用超高质量 Fant 位图缩放,虽然速度比所有其他位图缩放模式都慢,但输出质量更高。 HighQuality 使用高质量位图缩放,虽然速度比 LowQuality 模式慢,但输出质量更高。 HighQuality 模式与 Fant 模式相同。 Linear 使用线性位图缩放,虽然速度比 HighQuality 模式快,但输出质量较低。 LowQuality 使用双线性位图缩放,虽然速度比 HighQuality 快,但输出质量较低。 LowQuality 模式与 Linear 模式相同。 NearesNeighbor 使用最近邻域位图缩放,当使用软件光栅器时,该缩放提供优于 LowQuality 模式的性能。 该模式常用于放大位图。 Unspecified 使用默认位图缩放模式,即 Linear。 2,Image遮罩 OpacityMask 来自微软官方的说明:

SQl浅谈 索引

廉价感情. 提交于 2019-12-17 16:49:08
1、索引的工作原理 我给大家推荐一个别人的总结。 http://blog.csdn.net/NightManHAHA/article/details/5648579 2、索引的设计原则 对于一张表来说,索引的有无和建立什么样的索引,要取决与where字句和Join表达式中。 一般来说建立索引的原则包括以下内容: 主键列:系统一般会自动建立聚集索引。 非主键列:有大量重复值并且经常进行条件查询、排序、分组的列,或者经常频繁访问的列,考虑建立聚集索引。 如果在一个经常做插入操作的表中建立索引,应使用fillfactor(填充因子)来减少页分裂,同时提高并发度降低死锁的发生。如果在表为只读表,填充因子可设为100。 另外我们在选择索引键的时候,尽量采用小数据类型(最好是整数)的列作为索引键,这样每个索引页能尽可能多的容纳索引键和指针,用整数的好处是因为整数的访问速度最快。 3、使用索引的注意事项 动作描述 使用聚集索引 使用非聚集索引 外键列 应 应 主键列 应 应 列经常被分组排序(order by) 应 应 返回某范围内的数据(BETWEEN、>、>=、< 和 <=) 应 小数目的不同值 应 大数目的不同值 应 频繁更新的列 应 频繁修改索引列 应 一个或极少不同值 4、索引的分类 按存储结构区分 : “聚集索引(又称聚类索引,簇集索引)”,“分聚集索引(非聚类索引,非簇集索引)”

图片处理开源框架

青春壹個敷衍的年華 提交于 2019-12-17 08:23:57
ImageMagick 是一套功能强大、稳定而且免费的工具集和开发包。 GIMP ( http://www.gimp.org/ )是一个基于GNU通用许可的图像处理软件, 它比较适合用于照片修饰, 图像合成和图像创作. 它可以正常工作于各大操作系统平台,并且有多个国家语言版本。 详细安装和使用体验可以参考 强大的开源图像处理软件——GIMP( http://ukyoi-d.spaces.live.com/blog/cns!D40A6A1CE1A272AC!311.entry ) Paint .NET ( http://www.getpaint.net/ ) 是一个运行在Windows操作系统上面的图像和相片处理软件。它包含许多特性,包括具有直观的用户界面,并支持层,无限次的撤销,特效,以及各种各样的强大实用的插件。Paint .net 的体积很小,下载包才有2M多,但它的功能几乎强大到可比photoshop,只是要运行Paint .Net 需要在电脑里面安装有NET.Framwork。 Blender ( http://www.blender.org/ )是一个稳定的3D模型创作软件,可用于所有主要的操作系统,基于GPL许可。你可以利用它创建模型,阴影,动画等交互式3D效果。 Crystal Space ( http://www.crystalspace3d.org )

浅谈布隆过滤器Bloom Filter

馋奶兔 提交于 2019-12-16 17:15:28
先从一道面试题开始: 给A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL。 这个问题的本质在于判断一个元素是否在一个集合中。哈希表以O(1)的时间复杂度来查询元素,但付出了空间的代价。在这个大数据问题中,就算哈希表有100%的空间利用率,也至少需要50亿*64Byte的空间,4G肯定是远远不够的。 当然我们可能想到使用位图,每个URL取整数哈希值,置于位图相应的位置上。4G大概有320亿个bit,看上去是可行的。但位图适合对海量的、 取值分布很均匀 的集合去重。位图的空间复杂度是随集合内最大元素增大而线性增大的。要设计冲突率很低的哈希函数,势必要增加哈希值的取值范围,假如哈希值最大取到了2 64 ,位图大概需要23亿G的空间。4G的位图最大值是320亿左右,为50亿条URL设计冲突率很低、最大值为320亿的哈希函数比较困难。 题目的一个解决思路是将文件切割成可以放入4G空间的小文件,重点在于A与B两个文件切割后的小文件要一一对应。 分别切割A与B文件,根据 hash(URL) % k 值将URL划分到k个不同的文件中,如A1,A2,...,Ak和B1,B2,...,Bk,同时可以保存hash值避免重复运算。这样Bn小文件与A文件共同的URL肯定会分到对应的An小文件中。读取An到一个哈希表中,再遍历Bn

2019.12.14-常用图片格式

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-14 03:38:58
常用图片格式 图片是网页制作中很重要的素材,图片有不同的格式,每种格式都有自己的特性,了解这些特效,可以方便我们在制作网页时选取适合的图片格式,图片格式及特性如下: 1、psd psd是photoshop的专用格式,UI设计师使用photoshop设计效果图,最后会将psd格式的效果图交付给前端工程师,这种格式是不压缩的,而且保留了图层、透明和半透明等图片信息,所以这种图片格式的容量相对来说是很大的,前端工程师使用这种格式的效果图来切图制作网页,但是网页中不会使用这个格式的图片,它的作用一是保存图片的原始数据,二是方便图片的修改。 2、jpg jpg是一种有损压缩格式,压缩效率高,容量相对来说最小,网络传输速度快,它不能存为透明背景,在网页中应用最广,一般在不需要透明背景的时候就使用这种图片。 3、gif gif是一种无损压缩格式的图片,最多只有256种颜色,颜色丰富的图片转化为这种格式会颜色失真。它的背景可以是透明的,但不能是半透明的,透明背景中的图像,如果边缘轮廓是曲线的,会产生锯齿,它还可以保存为动画格式。 4、png png的目的是为了代替gif图片,无损压缩,背景可以是透明或者半透明的,透明图像边缘光滑,没有锯齿,网页中需要透明或者半透明背景的图片,首选是png图片。png也是firework的专用格式,也可以包含图层信息

仅此一次对BMP文件做详细分析的机会,想了解的朋友千万不能错过

倾然丶 夕夏残阳落幕 提交于 2019-12-11 17:43:04
什么是BMP? BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BblP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。 由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。 典型的BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息 具体数据举例: 如某BMP文件开头: BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。 一、图像文件头 1)1:图像文件头。424Dh=”BM”,表示是Windows支持的BMP格式。 2)2-3:整个文件大小。4690 0000,为00009046h=36934。 3)4-5:保留,必须设置为0。 4)6-7:从文件开始到位图数据之间的偏移量。4600 0000,为00000046h=70,上面的文件头就是35字=70字节。 5)8-9:位图图信息头长度。 6)10-11:位图宽度,以像素为单位。8000 0000

Win32双缓冲绘图和位图的绘制

最后都变了- 提交于 2019-12-10 15:01:10
前言: 为什么需要使用双缓冲技术?可能很多朋友会问,不知道你们有没有发现,当屏幕刷新的时候会有闪烁,这样让人的体验感极差。原因是绘图与显示器刷新不同步,有时间差,为解决这一问题,这就需要用到双缓冲技术来绘图了。双缓冲技术是相对单缓冲而言的,单缓冲就是直接在设备DC上绘图;而双缓冲就是先在一个与设备DC相兼容的内存缓冲区里进行绘图,然后再一次性复制到设备DC上。一次性在屏幕上显示就不会出现闪烁的现象。 这里需要注意的是:我们创建的兼容DC,不能直接在上面绘图,这里还需要一块画布,那我们创建的兼容DC就相当于画板,有了画板、画布,将画布选放在画板兼容DC上就可以进行绘图了。然后一次性贴在设备DC上就搞定了。如下: HDC mdc = CreateComatibleDC ( hdc ) ; // 创建兼容DC 画板 HBITMAP bmp = CreatrCompatibleBitnap ( hdc , 600 , 600 ) ; // 创建画布 SelectObject ( mdc , bmp ) ; // 将画布选入画板 一、双缓冲技术的使用 双缓冲绘图步骤: 在内存中创建兼容DC缓冲区(依次包括创建兼容DCCreateComatibleDC、创建画布CreatrCompatibleBitnap、将画布选入SelectObject)。 在缓冲区进行画图操作(可以画图形、也可以贴位图)