位图

BMP文件格式

两盒软妹~` 提交于 2019-11-30 18:40:48
BMP(Bitmap-File)图像文件,又叫位图文件,是Windows采用的图形文件格式,在Windows环境下运行的所有图像处理软件都支持BMP图像文件格式。Windows系统内部个图像绘制操作以BMP为基础的。一个BMP文件由四个部分组成。 l 位图文件头 l 位图信息段 l 调色板 l 位图数据 一个BMP文件,可以用代码表示,如下: typedef struct tagBITMAP_FILE { BITMAPFILEHEADER bitmapheader; BITMAPINFOHEADER bitmapinfoheader; PALETTEENTRY palette[256]; UCHAR *buffer; //UCHAR大小1字节(通BYTE) }BITMAP_FILE; BMP文件头:BITMAPFILEHEADER typedef struct tagBITMAPFILEHEADER{   WORD bfType;   DWORD bfSize;   WORD bfReserved1;   WORD bfReserved2;   DWORD bfOffbits; } bfType 说明文件的类型,该值必须是0x4D42,也就是字符‘BM’,否则表示根本不是BMP bfSize 说明位图文件的大小,用字节为单位 bfReserved1 保留,必须设置为0


[转]MFC中设置窗体的背景色,图片,插入音乐

感情迁移 提交于 2019-11-30 18:34:10
分享 [转]MFC中设置窗体的背景色,图片,插入音乐 转载地址: http://blog.renren.com/share/269483805/8480405773 一、设置背景颜色的三种方法: 1、我们知道程序在运行的时候会调用OnPain函数,那么我们可以在这里设置背景颜色。 void CFlipCardsDlg::OnPaint() { if (IsIconic()) { //保持不变 } else { CRect rc; GetClientRect( &rc );// 获取客户区 CPaintDC dc(this); dc.FillSolidRect(&rc, RGB(0,160,0)); // 填充客户区颜色 CDialog::OnPaint(); } } 2、第二种方法只要一条语句,但是这里要注意这里绘制的颜色是针对程序中所有的对话框(如果是单文档的话,好像不行) SetDialogBkColor(RGB(0,0,255),RGB(255,0,0)); // 前一个RGB是背景色,后一RGB是文本颜色 该函数放在工程的APP文件的初始化函数中。 3、第三种方法,利用ClassWizard重载OnCtlColor(),即WM_CTLCOLOR消息 在要着色的对话框中申明一个变量,CBRUSH m_hbrush;然后在项目的Dlg类初始化函数中给m_hbrush赋值。 m

winform控件制作笔记(一)

北城以北 提交于 2019-11-30 18:27:13
有个很惨的项目,已经一年多了,一直使用默认window的样子,版本和功能有点繁杂,一直被吐槽了很久,所以想利用最近的时间来重做一个漂亮的界面组件。既然要做那就认认真真的安排一下,首先要明确目的,就是这组控件打算做成什么样子,都有哪些功能。计划如下: 一、公共的控件类,并且方便扩展到其它项目 二、控件的外观素材与控件本身分离,并使外观效果更易于更新替换 三、支持一鍵换肤功能,包括在运行时与设计时 四、做一个控件皮肤风格设计器并支持多种部署方案 五、笔者是完美主义者,一定要完美 但很不幸,本人的平面设计能力基本为零,别人都说我的审美观有异于常人,所以要的把这组控件全部做成贴图的形式,这样就可以让别人来改善我审美上的缺陷了。 码了这么多年,这还是第一次做UI方面的设计,总有种前途多舛的感脚。 一、继承关系。 当从IDE中创建一个新的用户控件时,自动生成的代码是继承自UserControl,这里有必要说明一下这些类型的继承关系。 Component的类,只要是继承它的类都会显示在IDE的工具箱内,而它又继承自MarshalByRefObject,这说明控件可以被序列化和跨域访问。 Control继续自Component,它封装了窗口的特性与相关功能,这决定了Control与其子类可以从工具箱放到设计器上显示出用户界面,也就是我们说的UI,从此每一个控件其实就是一个window窗体了

android分辨率(屏幕适配)

浪尽此生 提交于 2019-11-30 16:26:30
关于手机分辨率相关术语和概念 屏幕尺寸:实际的物理尺寸,屏幕的对角线测量。为了方便,android把所有的屏幕尺寸分为了4个广义的大小:小,正常,大,特大。 屏幕密度:屏幕的物理面积内像素的数量,通常称为DPI(每英寸点数)。为了方便,android把所有的实际屏幕密度分为:低,中,高,特高。 方向:从用户的角度来看,就是屏幕的方向,就是横向或者纵向的意义。 分辨率:屏幕上面的物理像素总数。(官方说法,应用程序应该只关注屏幕大小和密度) 密度无关像素: 一个虚拟像素单元(官方说法,你应该使用密度无关像素定义UI的布局,来表达布局尺寸或位置,系统默认假设“中等”的密度屏幕为基准,其屏幕密度相当于一个160dpi的屏幕。在运行时,系统根据实际中的屏幕密度对DP单位进行缩放。DP单位转换为屏幕像素可用PX = DP *(DPI / 160)这个方法。那么在一个160dpi屏幕上,1DP==1PX。在一个240 dpi屏幕上,1 DP==1.5PX。那么在定义布局时,应该使用DP单位,以确保不同密度的屏幕上合理的显示用户界面) 关于支持屏幕的范围 官方定义4种广义尺寸:小,正常, 大,更大。四种密度:低,中型, 高,特高。广义尺寸和密度都可以跨越一系列的尺寸和密度(官方截图上传不了权限不够一周<img title=”[android 屏幕适配]关于android分辨率兼容问题(一)[转]”

ORACLE表、索引和分区

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-30 13:44:14
ORACLE 表、索引和分区 一、数据库表 每种类型的表都有不同的特性,分别应用与不同的领域 • 堆组织表 • 聚簇表 ( 共三种 ) • 索引组织表 • 嵌套表 • 临时表 • 外部表和对象表 1. 行迁移 • 建表过程中可以指定以下两个参数: • PCTFREE :自由空间,默认值 10 • PCTUSED (只适用于 MSSM ):默认值 40 • 设置这两个参数很重要: • 一方面避免迁移过多的行,影响性能 • 一方面避免浪费太多的空间 • 当自由空间存不下更新后的某一行时,这一行将会发生行迁移,在两个块上存储这一行数据,如下图: 2. 堆组织表 • 基本上我们使用的表都是堆组织表( heap organized table ),堆是无序的数据结构,数据的存取都是随机的,想要排序必须使用 order by 子句 • 对于 ASSM 有三个重要的选项: • PCTFREE • INITRANS :默认值 2 ,高并发会设置更大一些 • COMPRESS/NOCOMPRESS :启用 / 禁用压缩 3. 索引组织表( IOT ) • 以索引结构存储的表 • 使用场景: • 信息检索 • 空间数据 • OLAP 应用 • 创建,使用 organization index 子句: create table tbl( name varchar2(20), age int )

BMP 图像信息隐藏及检测

馋奶兔 提交于 2019-11-30 02:20:29
原理简介 针对文件结构的信息隐藏方法需详细掌握文件的格式,利用文件结构块之间的关系或根据块数据和块大小之间的关系来隐藏信息。 BMP(Bitmap-File)图形文件是 Windows 采用的常见图形文件格式,要利用 BMP 位图进行信息隐藏首先需要详细了解 BMP 文件的格式,BMP 图像文件结构比较单一而且固定,BMP 图像由文件头、信息头、调色板区和数据区四个部分组成,而 24 位真彩色图像中没有调色板信息。24 位真彩色 BMP 位图文件包括 3 部分。 第一部分是 BMP 文件头。前 2 个字节是“BM”,是用于识别 BMP文件的标志;第 3、4、5、6 字节存放的是位图文件的大小,以字节为单位;第7、8、9、10 字节是保留的,必须为 0;第 11、12、13、14 字节给出位图阵列相对于文件头的偏移,在 24 位真彩色图像中,这个值固定为 54;19,20,21,22表示的是图像文件的宽度,以像素为单位;23,24,25,26 表示的是图像文件的高度,以像素为单位。第二部分是位图信息头。从第 29 个字节开始,第 29、30 字节描述的是像素的位数, 24 位真彩色位图。该位的值为 0x18; 第三部分是数据区。从第 55 个字节开始,每 3 个字节表示一个像素,这 3 个字节依次表示该像素的红、绿、蓝亮度分量值。 在不影响图像正常显示情况下,可使用以下四种方法在

Android图形处理之Bitmap

我怕爱的太早我们不能终老 提交于 2019-11-29 12:37:12
Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。本文从应用的角度,着重介绍怎么用Bitmap来实现这些功能。 一、Bitmap的生成 1.1 BitmapFactory decode出Bitmap Bitmap实现在android.graphics包中。但是Bitmap类的构造函数是私有的,外面并不能实例化,只能是通过JNI实例化。这必然是 某个辅助类提供了创建Bitmap的接口,而这个类的实现通过JNI接口来实例化Bitmap的,这个类就是BitmapFactory。 图一、BitmapFactory主要方法及Options选项 利用 BitmapFactory 可以从一个指定文件中,利用 decodeFile ()解出Bitmap;也可以定义的图片资源中,利用 decodeResource ()解出Bitmap。 1.2 decode时的选项 在使用方法decodeFile()/decodeResource()时,都可以指定一个BitmapFacotry. Options 。 利用Options的下列属性,可以指定decode的选项: inPreferredConfig 指定decode到内存中,手机中所采用的编码,可选值定义在Bitmap.Config中。缺省值是ARGB

2019秋招复习笔记--海量数据处理

青春壹個敷衍的年華 提交于 2019-11-29 07:06:28
1、海量日志数据,提取出某日访问百度次数最多的那个IP。 来源 算法思想:分而治之+Hash 1.IP地址最多有2^32=4G种取值情况,所以不能完全加载到内存中处理; 2.可以考虑采用“分而治之”的思想,按照IP地址的Hash(IP)%1024值(hash映射),把海量IP日志分别存储到1024个小文件中。这样,每个小文件最多包含4MB个IP地址; 3.对于每一个小文件,可以构建一个IP为key,出现次数为value的Hash map,同时记录当前出现次数最多的那个IP地址; 4.可以得到1024个小文件中的出现次数最多的IP,再依据常规的排序算法得到总体上出现次数最多的IP; 需要注意的是, 相同的IP经过Hash映射之后一定处于同一组中 ,故这种方法一定能统计到出现频率最大的那个IP。 2. 100G的硬盘上的整数型数据, 1G的内存。找出这100G数据里面所有不重复的数据。最少需要多大的辅助内存。 来源:腾讯面试 解法1:位图 int型的整数一共有2 32 个,我们申请2 32 bits, 也就是2 32 位, 用1位表示一个数是否出现了,0表示未出现,1表示出现了。比如4出现了,我们将这2 32 位的第4位置为1。10000出现了则把第10000位置为1。这样2 32 bits = 2 32 /8 = 2 29 B, 我们知道2 10 约等于1000, 2 30

图片的格式常用的有几种??

痞子三分冷 提交于 2019-11-29 05:31:57
文章转自 https://zhidao.baidu.com/question/15311803.html https://support.microsoft.com/zh-cn/help/320314/description-of-the-guidelines-for-selecting-the-appropriate-picture-fo 图片格式:光栅图片 BMP:Windows 位图 PCX:PC 画笔 PNG:可移植网络图形 JPEG:联合摄影专家组 GIF:图形交换格式 TIFF:标记图像文件格式 图片格式: 矢量图片 DXF:AutoCAD 绘图交换文件 CGM:计算机图形 图元文件 CDR:CorelDRAW! WMF:Windows 图元文件 EPS:Encapsulated PostScript EMF:增强型 图元文件 PICT:Macintosh 图片 图片格式:光栅图片 BMP:Windows 位图 Windows 位图可以用任何 颜色深度 (从黑白到 24 位颜色)存储单个光栅图像。Windows 位图文件格式与其他 Microsoft Windows 程序兼容。它不支持文件压缩,也不适用于 Web 页。 从总体上看,Windows 位图文件格式的缺点超过了它的优点。为了保证照片图像的质量,请使用 PNG 文件、JPEG 文件或 TIFF 文件。BMP