Linux
文章平均质量分 60
EluEvin
这个作者很懒,什么都没留下…
展开
-
位图文件结构(*.bmp文件)
位图文件结构(*.bmp文件)位图文件结构简单,是数字图像处理时常用的输入和输出数据格式。位图文件是逐像素保存图像的,一般不压缩。位图文件由多种色彩模式,现在最常用的是24位真彩色。即用RGB方式来保存像素颜色,每个像素三个字节,每个字节的值表示一种颜色值,范围是0-255,共能表示16777216种颜色。位图文件分为四部分:1.位图文件头 占14字节转载 2015-10-15 20:00:06 · 536 阅读 · 0 评论 -
把24位bmp位图按水平扫描和垂直扫描转为点阵数组
把24位bmp位图按水平扫描和垂直扫描转为点阵数组 本来朋友有一个移动和联通的logo点阵,现在突然需要电信的logo,所以就跟他要来了,移动和电信的logo数据,试着显示出来,其实也就是每个字节有8个点,1为显示的点,0不显示!麻烦的就是有要水平扫描和垂直扫描! 所以就写了下面的程序,这个程序是未成品,我只弄了40*40的位图,而且是24位的bmp图片,其它转载 2015-10-15 20:01:27 · 804 阅读 · 0 评论 -
BMP位图文件结构及平滑缩放
BMP位图文件结构及平滑缩放西安交通大学流体机械研究所张义云---- 用普通方法显示BMP位图,占内存大,速度慢,在图形缩小时,失真严重,在低颜色位数的设备上显示高颜色位数的图形图形时失真大。本文采用视频函数显示BMP位图,可以消除以上的缺点。---- 一、BMP文件结构---- 1. BMP文件组成---- BMP文件由文件头、位图信息头、颜色信息和图转载 2015-10-15 20:41:45 · 211 阅读 · 0 评论 -
BMP文件结构的探索
一、文件格式Bmp文件是非常常用的位图文件,无论是游戏还是其他都被广泛使用。针对bmp文件的处理也有一堆现成的api进行调用,然而文件内部究竟怎样,如何自己来解析这样的文件呢?为了消除无聊,我用了几天时间来研究了一下,同时作为学习笔记,进行记录。首先,整个bmp文件的内容可以分为3到4块。之所以分为3到4块而不是固定的值,是因为,对于bmp来说可能存在调色板或者一些掩码。具体稍候讨论。转载 2015-10-15 20:46:02 · 141 阅读 · 0 评论 -
解决:samba自动断开
1.使用命令net config server /autodisconnect:-1设置为不自动断开2.禁用和启用TCP/IP上的NetBIOS。a. 右键点击“网上邻居”→“属性”→“本地连接”→“属性”。b. 双击“Internet协议(TCP/IP)”→“高级”→ “WINS”,在NETBIOS设置下,选择“禁用TCP/IP上的NetBIOS”,点击两次“转载 2015-11-25 17:43:24 · 2528 阅读 · 0 评论 -
初探freetype字体库
文字的显示依赖于字体字库,大致的字体字库分为点阵字库、笔画字库和轮廓字库。点阵字库:缺点比较明显,缩放存在锯齿,渲染旋转等操作相对复杂,且效果不理想,先大多用在嵌入式行业(基本抛弃),常见格式有bdf,pcf,fnt,hbf,hzf等。笔画字体:不讨论。轮廓字体:即矢量字体,利用字体轮廓及填充实现字体显示,优势明显,渲染缩放较容易,但效率相对低些(相对于嵌入式)转载 2015-10-27 09:23:38 · 775 阅读 · 0 评论 -
去除MinGW下编译的wxWidgets程序的控制台窗口
写的wxWidgets程序在Windows下启动很慢,并且会显示一个多余的cmd窗口。使用的是MinGW环境编译,编译的命令是:g++ -Wl,--enable-auto-import helloworld.cpp `./wx-config.exe --libs --cxxflags` -o helloworld.exe起初尝试使用FreeConsole()函数来去掉控制台转载 2015-10-23 16:47:07 · 569 阅读 · 0 评论 -
GTK编程-----设置窗口不可改变的一个问题
小弟最近在学GTK编程,具体来说就是编写一个Linux下面的任务管理器,不过,刚开始就遇到了一个问题,特地把代码发在下面,和大家来分享,同时,如果有哪位大牛知道的话,麻烦留言告诉我,不胜感激!原始代码是:#include gtk/gtk.h>int main( int argc, char *argv[]){ GtkWidget *window; gtk_i转载 2015-10-23 19:43:33 · 468 阅读 · 0 评论 -
Linux绘图库
最近在找linux的gtk+下绘制大量图形的C语言库,找到了很多,也不知道哪个适合我,下面分别介绍一下。 都是根据自己的理解,不见得正确。以下列出均为开源项目,大家可以作为参考,下面的cario是低级库,与其他不可同日耳语,其他的是gtk widget。 1、gnome canvas 基于libart创建的,是gnome环境下绘制图形的首选,创建的图形可以移动、放大、缩小转载 2015-11-10 11:40:06 · 896 阅读 · 0 评论 -
使用FreeType实现矢量字体的粗体、斜体、描边、阴影效果
使用FreeType实现矢量字体的粗体、斜体、描边、阴影效果 前言:Freetype是一个跨平台、开源的字体渲染器,网上很多文章介绍,本人就不啰嗦了。本文重点在于实现文章标题所属的各种效果,不是Freetype的基本使用方法介绍文档,所以对于Freetype不熟悉的同学们请先学习下Freetype的基本用法,才可以使用本文中所提及的方法。正文:用FreeTy转载 2015-10-26 19:31:30 · 925 阅读 · 0 评论 -
基于Qt的FreeType字体轮廓解析
一、本文目的以前的文档中、详细的介绍了FreeType开源字体引擎库的基础知识、基本用法、但并未详细的阐明在TurboCG中、是如何解析出一个文字的轮廓的,本文集中阐述、怎么样使用FreeType开源字体引擎库、读取一个文字的轮廓、获取轮廓关键点(控制点)之后,解析这些关键点;并使用Qt作为辅助GUI接口、绘制出字体的轮廓。本文虽然集中讲解文字轮廓处理、但为了完整性,也会介绍怎么初始化转载 2015-10-26 19:43:46 · 655 阅读 · 0 评论 -
字符集之间的转换(UTF-8,UNICODE,GB2312)
特搜集了UTF-8,UNICODE,Gb2312他们3个之间的相互转换.UTF-8: 3字节一个字符UNICODE: 2字节一个字符GB2312: 1字节一个字符例子:“你”字的UTF-8编码: E4 BD A0 11100100 10111101 10100000“你”的Unicode编码: 4F 60 0100111转载 2015-11-26 17:05:56 · 217 阅读 · 0 评论 -
getopt的用法
getopt的用法getopt被用来解析命令行选项参数。就不用自己写东东处理argv了。#include extern char *optarg; //选项的参数指针 extern int optind, //下一次调用getopt的时,从optind存储的位置处重新开始检查选项。 extern int opterr, /转载 2015-12-28 12:30:26 · 118 阅读 · 0 评论 -
在ubuntu中安装编译工具mingw
原文:Mingw:在Linux系统下编译Windows的程序链接:http://www.sudu.cn/info/html/edu/20071227/87635.htmlUbuntu下可以直接安装:sudo apt-get install mingw32mingw32-binutilsmingw32-runtime安装后编译程序可以:i586-min转载 2016-01-07 18:54:17 · 1323 阅读 · 0 评论 -
GtkCombobox学习笔记
GtkCombobox学习笔记今天做东西时用到了一点GtkCombobox一点稍微复杂的功能,以前一直使用的简单text形式(下文有在DEVHELP中的原文)实现不了,然后就研究了下GtkTreeStore和 GtkCombobox联合使用的情况.主要借鉴了帮助文档和此网址的内容:http://blog.csdn.net/caterpillar_here/article/d转载 2015-12-23 17:24:55 · 668 阅读 · 0 评论 -
mingw给程序添加图标
一般步骤是:step1:将.c源文件编译成.o目标文件step2:将.rc资源源文件及其资源编译成.res资源文件step3:将.o文件和.res文件连接成.exe文件示例:例如,有一个windows程序是prog.exe,这个程序的源文件是prog.c。现在打算把图标prog.ico添加到prog.exe程序中,这样做:1、创建prog.rc文件,文件内容转载 2016-01-08 17:07:17 · 183 阅读 · 0 评论 -
curl命令详解
对于windows用户如果用Cygwin模拟unix环境的话,里面没有带curl命令,要自己装,所以建议用Gow来模拟,它已经自带了curl工具,安装后直接在cmd环境中用curl命令就可,因为路径已经自动给你配置好了。 linux curl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。 一,转载 2016-04-05 13:46:22 · 210 阅读 · 0 评论 -
Makefile编译内核驱动模块入门(一)
Makefiel编译内核驱动模块入门(一)未经作者允许不得转载阅读本文的前提是,读者已经了解Makefile的编写方式,请读者注意。本文将介绍编译内核最简单的Makefile编译方式,为了更直接地讨论将内核驱动模块定位为最简单的hello.ko。故在此只讨论Makefile的内容,不涉及内核驱动的有关内容。Makefile内容如下:#从hello.o中构原创 2015-09-08 11:18:53 · 467 阅读 · 0 评论 -
Gtk+ for Windows 环境配置(使用msys2)
目前Windows下GTK官方推荐使用msys2来分发新版本,编译程序,下面介绍下如何使用msys2来配置环境并编译GTK程序。一、下载 首先到http://msys2.github.io/下载msys2,64位系统建议下载x86_64版,32位系统只能选择i686。二、安装 双击下载的安装程序,一步步下一步即可,安装目录建议使用默认目录,例如,我这里是安装的64位,即转载 2016-01-07 18:05:46 · 5019 阅读 · 0 评论 -
Linux下mingw32 rpm包
Linux下mingw32 rpm包下载地址:http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Factory/noarch/?C=M;O=D原创 2016-01-06 19:59:59 · 199 阅读 · 0 评论 -
linux下制作静态库和动态库的方法
linux下制作静态库和动态库的方法我们都知道 *.a 代表静态库;*.so 代表动态库。那么这两个库到底怎么制作呢? 制作静态库的方法:把代码编译为目标文件形式:# gcc -c liberr.c -o liberr.o使用工具ar创建一个存档文件:# ar rcs liberr.a liberr.o编译程序转载 2015-12-02 15:19:11 · 174 阅读 · 0 评论 -
多线程并发 g_thread_create()
同一进程可以包括多个线程,这些线程共享相同的内存空间,而进程都有各自独立的内存空间,进程之间通信需要专门的机制,这无疑增加了内核的开销,降低了系 统性能。线程带来的开销很小,内核无需单独复制进程的内存空间或文件描述符等,这就大量地节省了CPU时间,使得创建线程比进程的速度快数十倍。另外,多 线程程序作为一种多任务、并发的工作方式,还有以下的优点:1)提高应用程序响应时间;2)使多CPU系统更加有效转载 2016-01-04 13:57:05 · 482 阅读 · 0 评论 -
GTK 多线程例子
GTK线程的简单使用与线程中更新图形界面 1)线程的简单使用,通过一个简单例子来说明(能运行) 编译命令:gcc `pkg-config gtk+-2.0 --cflags --libs gthread-2.0` -std=gnu99 -o thread thread.c注意要加上gthread-2.0 C代码转载 2016-01-04 13:57:59 · 392 阅读 · 0 评论 -
gtk计时器函数gint gtk_timeout_add((guint32 interval,GtkFunction function,gpointer data )
计时器函数可以用于为操作计时(例如,记录某项操作用了多长时间)。使用它的第一步是用g _ t i m e r _ n e w ( )函数创建一个计时器,然后使用g _ t i m e r _ s t a r t ( )函数开始对操作计时,使用g _ t i m e r _ s t o p ( )函数停止对操作计时,用g _ t i m e r _ e l a p s e d ( )函数判定计时转载 2016-01-04 22:26:39 · 247 阅读 · 0 评论 -
linux设备(硬盘、SD卡读写速度测试) dd命令
linux设备(硬盘、SD卡读写速度测试) dd命令本文主要介绍如何使用linux的dd命令,来测试linux设备(如硬盘、SD卡)的读写速度工具/原料linux系统linux设备(如硬盘、SD卡等)linux dd命令 介绍1介绍:使用dd这个linux命令可以创建一定大小文件。linux创建文件命令:dd命令把指定的输入文件拷贝到指定的输出文转载 2015-12-04 15:07:08 · 466 阅读 · 0 评论 -
Linux终端常用命令
# ctrl + l - 清屏 。 cLear# ctrl + c - 终止命令。 # ctrl + d - 退出 shell,好像也可以表示EOF。 # ctrl + z - 将当前进程置于后台,fg还原。 # ctrl + r - 从命令历史中找 。 Reverse-i-search# ctrl + a - 光标移到行首 。 A# ctrl + e - 光标移到行尾。转载 2016-01-06 17:00:25 · 180 阅读 · 0 评论 -
LINUX下查看CPU使用率的命令
1.top使用权限:所有使用者使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]说明:即时显示process的动态d :改变显示的更新速度,或是在交谈式指令列( interactive command)按sq :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行c :切换显示模式,转载 2015-12-04 15:06:32 · 183 阅读 · 0 评论 -
unicode_17个面的字符编码:
unicode_17个面的字符编码: 开始码位结束码位Block名称(英文)Block名称(中文)0000007FBasic Latin基本拉丁字母008000FFLatin-1 Supplement拉丁字母补充-10100017FLatin Extended-A拉丁字母扩充-A转载 2015-09-18 17:03:50 · 788 阅读 · 0 评论 -
linux下安装字体
1. 获得字体文件*.ttf(普通);2. 在/usr/share/fonts目录下建立一个子目录,例如BAlabric,命令如下: # mkdir /usr/share/fonts/BAlabric3. 将*.ttf复制到该目录下, # cp *.ttf /usr/share/fonts/BAlabric/4. 建立字体索引信息,更新字体缓存: # c原创 2015-09-17 18:48:56 · 205 阅读 · 0 评论 -
ubuntu关闭防火墙
方法一:执行命令 ufw disable注:打开防火墙是ufw enable作用:设置ubuntu防火墙在开机时自动关闭方法二:执行命令apt-get remove iptables作用:卸载ubuntu防火墙方法三:使用iptables命令1、看一下你iptables的规则sudo iptables -Lsudo iptables -t n原创 2015-08-05 14:05:51 · 456 阅读 · 0 评论 -
ubuntu 登录root 版本 14.04
ubuntu 登录root 版本 14.04首先,登录普通用户的帐号。进入ubuntu后,按下组合键【Ctrl】+【Alt】+【t】,显示出终端窗口。在终端中执行以下命令:#sudo -s然后输入当前普通用户的密码,即可进入root账户。建议进入root账户后,执行以下命令,给root账户添加密码:#passwd root之后输入root的密码原创 2015-08-06 10:03:36 · 174 阅读 · 0 评论 -
关于安装arm-linux-gcc交叉编译器
关于安装arm-linux-gcc交叉编译器原创 2015-08-05 15:10:34 · 102 阅读 · 0 评论 -
Linux中VMware虚拟机增加磁盘空间的扩容操作
Linux中VMware虚拟机增加磁盘空间的扩容操作用VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装。如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置。通过上网搜集的资料,结合自己的实践,总结了如下扩大硬盘空间的详细步骤,希望对大家有帮助。(1)打开VMware,选择Edit Virtual ma转载 2015-09-08 17:42:13 · 182 阅读 · 0 评论 -
Samba的配置
Samba的配置对于linux与windows共享,和平共处,我们可以用Samba软件Samba是一套免费的开源软件,可以在linux或其他类unix操作系统上实现windows域控制器,文件服务,打印服务等。Samba实现了windows系统所使用的核心网络协议:SMB(Server Message Block)Samba可以提供如下功能:活动目录服务(Act转载 2015-09-09 10:14:44 · 256 阅读 · 0 评论 -
linux安装arm-linux-gcc
linux安装arm-linux-gcc下载arm-linux-gcc-4.3.2.tgz以root用户登录(切换为root账号)解压文件#tar xvzf arm-linux-gcc-4.3.2.tgz -C /添加环境变量:#gedit /root/.bashrc在最后一行加上:export PATH=/usr/local/arm/4.3.2原创 2015-09-09 13:51:49 · 186 阅读 · 0 评论 -
linux下创建交叉编译器(arm-linux-gcc)的快捷方式
在linux下,我们安装arm-linux交叉编译工具后,使用时要输入的命令相当长,根本不是资料上的arm-linux-gcc这种简单的方式。为了在使用交叉编译工具时,更加便捷,笔者了解到,只要为安装目录下的工具建立链接即可。关于linux中的链接,有软连接和硬链接之分,两者都能在linux下直接输入名称执行该命令,其本质区别是:软连接只是一个跳转的中间名称,类似windows下的快捷原创 2015-09-09 14:12:06 · 478 阅读 · 0 评论 -
关于tar,gz,bz结尾的文件的解压压缩
关于tar,gz,bz结尾的文件的解压压缩原创 2015-08-05 15:08:29 · 733 阅读 · 0 评论 -
Red Hat Linux关闭防火墙
1、关闭iptables防火墙管理# /etc/init.d/iptables stop2、执行setenforce 命令#setenforce 0或者#setenforce permissive注:setenforce 1 设置SELinux 成为enforcing模式setenforce 0 设置SELinux 成为permissive模式 SELi原创 2015-08-05 14:57:34 · 231 阅读 · 0 评论 -
进程基础知识
进程基础知识 问题1:进程和程序的区别进程是操作系统中正在运行的任务,是运行中的程序程序是存储在磁盘上包含有可执行机器代码和指令的文件 问题2:进程的类别交互进程,批处理进程 和 守护进程 交互进程:由shell启动的进程,在执行过程中要求与用户进行交互批处理进程:一个进程序列,负责按顺序启动其他的进程守护进程:执行特定功能或者执行系统相关任务的后台进程原创 2015-08-27 16:59:09 · 237 阅读 · 0 评论 -
Linux进程通信概观
Linux进程通信概观 根据笔者前几篇博文,我们可以知道进程是运行中的程序。所以,从程序的角度来看,进程的通信实际上是对程序与程序之间交换数据和资源的管理。 基于以上的观点,我们可以按照以下的方式来分析进程通信。首先,对于一个程序个体来说,它有以下几种通信的情况:① 程序和自己进行通信② 同机器的程序间进行通信③ 不同机器的程序之间进行通信实际上,上面所说的通信原创 2015-08-27 19:46:29 · 235 阅读 · 0 评论