- 浏览: 146838 次
- 性别:
- 来自: 长春
最新评论
文章列表
(转)WINCE的体系结构
- 博客分类:
- Wince
WINCE6.0的体系结构图如下图所示:
图1 WINCE的体系结构
根据上图可以把WINCE6.0体系结构分为硬件层、OEM层、操作系统层和应用层,这四层紧密合作,相互配合来完成从应用程序的调用到对硬件的操作和交互。
1. ...
在编程中有时候需要对图片做特殊的处理,比如将图片做出黑白的,或者老照片的效果,有时候还要对图片进行变换,以拉伸,扭曲等等。
这些效果在android中有很好的支持,通过颜色矩阵(ColorMatrix)和坐标变换矩阵(Matrix) ...
(转)Matrix学习——基础知识
- 博客分类:
- Android
以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明。
首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部分。为什么分割成4部分,在后面详细说明。
首先给大家举个简单的例子:现设点P0(x0, y0)进行平移后,移到P(x,y),其中x方向的平移量为△x,y方向的平移量为△y,那么,点P(x,y)的坐标为:
x = x0 + △xy = y0 + △y
采用矩阵表达上述如下:
上述也类似与图像的平移,通过上述矩阵我们发现,只需要修改矩阵右上角的2个元素就可以了。
我们回头 ...
创建
步骤1:新建一个Qt自定义控件工程
步骤2:填写工程名并指定工程目录
步骤3:填写新控件的类名并选择基类
步骤4:填写描述信息
切换到描述页面,填写组名,新控件将会显示在QtCreator的这个分组内
步骤5:指定自定义控件的编译方式为Release
步骤6:编译
代码什么都不用改,直接编译构建,OK,一个Qt自定义控件就这样成功了。
集成
将编译生成的hlabelpl
QT&&QT_Creator_安装配置流程
- 博客分类:
- QT
Linux Distribution下配置
资源准备
1.VMware Workstation 9
2.ubuntu-12.04.2-dvd-i386
3.qt-everywhere-opensource-src-4.8.5.tar
4.qt-creator-2.8.0-src.tar
部分1:Ubuntu 安装
1.选择 Create a New vistual Machine 开始创建虚拟机配置
2.选择高级模式
3.选择第三项过会安装OS(为了进行中文安装)
接下来配置情况结合自身机器情况,自行配置。
4
OpenGL环境搭建
- 博客分类:
- OpenGL
开发工具VS2008
OS: WIN7
搭建步骤
1.建立空工程
2. 设置VS 环境变量
path=%path%;"D:\Visual Studio 2008\Projects\opengldemo\dll"
3.添加依赖OpenGL 头文件路径
4.添加依赖OpenGL库文件路径
5.添加依赖OpenGL库文件
测试代码
#define POINTER_64
#include <../include/opengl/glew.h>
#include < ...
OpenGL学习四十:正玄移动
- 博客分类:
- OpenGL
正玄波浪曲线的特点是一个周期在x(0-360°)之间,y在(-1,+1)之间移动其中y=sinx假定移动一个周期X变化位置0~10,Y的变化位置5~-5,那么可推断出X=(10-0)/360.0*a 其中a代表角度Y=sin(a)*5/1关于C++函数库中算数公式的使用SIN(弧度)弧度=PI/180.0f*a 其中a代表角度
\
#include "header.h"
GLuint texture[1];
#define PI 3.141592654
float quar=1.0f;
AUX_RGBImageRec *LoadBM ...
OpenGL学习三十九:飘动的旗帜
- 博客分类:
- OpenGL
(此节内容对应NEHE教程第11课)
目前为止我们做的例子都是平面的,这个例子是带有波动效果的,
2维图形包括X,Y两个坐标系。因此看到的是平面的。3维图形由X,Y,Z三个坐标系构成,当Z坐标不为0时,可以产生3维的效果。一个图片或图形由许多个3维图形构成是,并且Z是变化的 就会产生波动的效果
for(int x=0; x<45; x++)
{
// 沿Y平面循环
for(int y=0; y<45; y++)
{
// 向表面添加波浪效果
points[x][y][0]=float((x/5.0f)-4.5f);
...
OpenGL学习三十八:图片文字
- 博客分类:
- OpenGL
(此节内容对应NEHE教程第17课)
前面2节所创建的字体。都是需要结合OS
假如某OS不能创建字体,那么如何显示出文字呢。这就需要采用图像文字的方式。
其实原理很简单,每个字符对应都是一个四边形,我们对这个四边形进行纹理贴图(贴图内容为字符),每次输出字符的时候的,等于找到对应的纹理图形 显示出来即可,为了提高性能,我们将使用显示列表
#include "header.h""
HDC hDC=NULL; // Private GDI Device Context
HGLRC hRC=NULL; // Permane ...
(此节内容对应NEHE教程第14课)
本节主要说明OpenGL结合WINDOW 创建并使用3D字体
3D图形字体。创建过程和2D基本相似
1.声明显示列表base = glGenLists(256); 2.创建新的FONT font = CreateFont(WinAPI) 3.选择我们需要的字体 oldfont = (HFONT)SelectObject(hDC, font);(WinAPI) 4.创建显示列表 wglUseFontOutlines();这里和2D的使用方式不同,3D的使用这个函数 按照ASII码进行存储。显示时候也是按照此逻辑进行寻找,如A对应65 则 ...
(此节内容对应NEHE教程第13课)
本节主要说明OpenGL结合WINDOW 创建并使用2D字体
作法1.声明显示列表base = glGenLists(96); 2.创建新的FONT font = CreateFont(WinAPI)3.选择我们需要的字体 oldfont = (HFONT)SelectObject(hDC, font);(WinAPI)4.创建显示列表 wglUseFontBitmaps(hDC, 32, 96, base);从32~128字符。按照ASII码进行存储。显示时候也是按照此逻辑进行寻找,如A对应65 则在显示列表65进行寻找5.设置显示列表基础值 gl ...
OpenGL学习三十五:加载压缩TGA
- 博客分类:
- OpenGL
(此节内容对应NEHE教程第33课)
利用压缩算法可以减低图片大小。降低图片存储所需的物理存储空间,但是也会相应的增加图片解压缩带来的时间消耗对于TGA文件的压缩可以简单理解为,在图片信息存储区。并不是把每一个像素点的RGB值都进行存储,而是临近的像素点如果RGB值相同,那么进行合并形成“块”对于一个”块“来说 他们有一个共同的RGB值,但是块是由很多个像素点组成的
0~~11
头信息
第3位(2)是2 代表未压缩 第3位(2)是10 代表未压缩RLE压缩
12~13
图像宽度
byte[13]*256+byte[12]
14~15
图像高度
...
(此节内容对应NEHE教程第24课)
应用.tga文件作为纹理数据来源进行纹理贴图
.tga图像文件数据格式:
0~~11
头信息
12~13
图像宽度
byte[13]*256+byte[12]
14~15
图像高度
byte[15]*256+byte[14]
16
图像每像素存储占用位(bit)数
24或32
18~end
OpenGL学习三十三:球面映射
- 博客分类:
- OpenGL
(此节内容对应NEHE教程第23课)
把环境纹理包裹在你的3D模型上,让它看起来象反射了周围的场景一样。球体环境映射是一个创建快速金属反射效果的方法首先,你需要一幅球体环境映射图,用来把它映射到球体上。在Photoshop中打开一幅图并选择所有的像素,创建它的一个复制。接着,我们把图像变为2的幂次方大小,一般为128x128或256x256。最后使用扭曲(distort)滤镜,并应用球体效果。然后把它保存为Reflect.bmp文件。如右图上面的为背景的图片,下面为经过球面滤镜处理过的,用于进行球面贴图的纹理对于球面映射往往我们希望背景图片是不变的,前面球面是可以转动的,因此适当的P ...
主要包含圆柱体(Cylinder)圆盘(Disk)球(Sphere) 圆锥(Cylinder) 作法:1.创建几何体对象 GLUquadricObj *quadratic=gluNewQuadric();2.设置几何体属性 gluQuadricNormals(法线)gluQuadricTexture(纹理)gluQuadricOrientation(对齐方式)gluQuadricDrawStyle(绘画样式)3.绘制二次几何体
gluQuadricNormals
设置法线
GLU_FLAT
普通
GLU_SMOOTH
平滑
GLU_NONE
g ...