图形编译源码
‘壹’ 在各种编译环境如何实现图形编译,就是VC啊VB之类的里面怎么实现图形编译。具体一点,直白一点。急用
请提问的时候整理思路,并且把相关词语解释一下。什么叫做图形编译?
如果是图形界面编程,用win32 API就应该可以。如果用其他图形框架,一般都会附带在各个编译器下调用的帮助的。
‘贰’ c语言图形编译
独立图形运行程序的建立
Turbo C对于用initgraph()函数直接进行的图形初始化程序, 在编译和链接
时并没有将相应的驱动程序(*.BGI)装入到执行程序, 当程序进行到intitgraph()
语句时, 再从该函数中第三个形式参数char *path中所规定的路径中去找相应的
驱动程序。若没有驱动程序, 则在C:\TC中去找, 如C:\TC中仍没有或TC不存在,
将会出现错误:
BGI Error: Graphics not initialized (use 'initgraph')
因此, 为了使用方便, 应该建立一个不需要驱动程序就能独立运行的可执行
图形程序,Turbo C中规定用下述步骤(这里以EGA、VGA显示器为例):
1. 在C:\TC子目录下输入命令:BGIOBJ EGAVGA
此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。
2. 在C:\TC子目录下输入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA
此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。
3. 在程序中initgraph()函数调用之前加上一句:
registerbgidriver(EGAVGA_driver):
‘叁’ 哦求c语言图形编程源代码O(∩_∩)O3
//program1
#include<stdio.h>
intmain()
{
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf("");
for(j=1;j<=i*2-1;j++)
printf("%d",i);
}
for(i=3;i>=1;i--)
{
for(j=1;j<=4-i;j++)
printf("");
for(j=1;j<=i*2-1;j++)
printf("%d",i);
}
return0;
}
//program2
#include<stdio.h>
intmain()
{
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf("");
for(j=1;j<=i*2-1;j++)
printf("%d",5-i);
}
for(i=3;i>=1;i--)
{
for(j=1;j<=4-i;j++)
printf("");
for(j=1;j<=i*2-1;j++)
printf("%d",5-i);
}
return0;
}
‘肆’ 如何在linux下安装QT源码包,安装后用图形形式编程
虽然网络上很多人使用 Redhat 或者Fedora 作为上位机操作系统,但是我觉得使用Ubuntu最为方便,因为需要的软件包大部分都可以通过 apt-get 方式来安装,而不必从源代码开始自己编译。
虽然网络上很多人使用 Redhat 或者Fedora 作为上位机操作系统,但是我觉得使用Ubuntu最为方便,因为需要的软件包大部分都可以通过 apt-get 方式来安装,而不必从源代码开始自己编译。要知道,自己编译源代码可不是一件轻松的事,因为在编译过程中经常会出现令人意外而且莫名其妙的错误。
我们使用的操作系统是 Ubuntu 8.04,使用目前最新版本的QT 4.4.0,安装起来即为简单,只要在命令编辑运行以下命令就行:
sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
注意在这个版本的软件包中,qt4-dev-tools 包含了Qt Assistant及Qt Linguist等工具,因此不需要单独安装这两个工具。其它的,qt4-doc 是帮助文档,包含了Qt中各个类库的详细说明以及丰富的例子程序,可以使用Qt Assistant 工具来打开阅读。qt4-qtconfig 是配置Qt环境的一个对话框,一般默认就行了,很少有必要去更改。qt4-demos 包含很多可以运行起来的可执行文件以及源代码。qt4-designer是用来设计GUI界面的设计器。
为了连接Mysql数据库,需要安装连接MySQL的驱动程序:
sudo apt-get install libqt4-sql-mysql
比起在Windows下安装和配置Qt的MySQL驱动来说,简直太方便了。如果还需要其它的没有默认安装的Qt库,可以在命令行输入 sudo apt-get install libqt4- 然后按tab键自动补全,就会列出所有以libqt4- 开头的软件包,如下图所示:
这些都可以使用一个命令搞定,而不需要自己从源码开始编译。在记不准或不知道名字的情况下,使用tab键列出所有可选的软件包是一个很实用的小技巧。
在我的项目中,还需要画一些数据曲线和统计图表等,而第三方的QWT库提供了这些功能。同样,只需要一个命令即可完成安装:
sudo apt-get install libqwt5-qt4 libqwt5-qt4-dev
这时,打开Qt Designer,就会发现左边的Widget列表里面多了“Qwt Widget”这一组。
最后,关于集成开发环境我觉得QDevelop很不错,它跟Qt Designer结合的很好,而且有提示类成员函数的功能。运行以下命令安装:
sudo apt-get install qdevelop
这样,使用Qdevelop编写代码和编译、调试,使用Qt Designer设计界面,开发效率较高。
‘伍’ 求一用c语言来编写的图形编程代码(在tc2.0中编译)
/********************************************************
* 本程序在高分辨率VGA模式下画
* 正弦曲线,需要Egavga.bgi和cga.bgi驱动包的支持
* 相关图形处理函数见《graphics图形和图像函数包.doc》
********************************************************/
#include "stdio.h"
#include "graphics.h"
#include "conio.h"
#include "math.h"
main()
{
int x,y;
double s;
int driver=VGA ,mode=VGAHI ; /*设置显示器的图形模式参数,具体说明见《C语言图形函数.DOC》*/ initgraph(&driver,&mode,""); /*初始化图形模式*/
setbkcolor(BLACK); /*设置背景颜色*/
line(0,0,0,480); /*画Y轴*/
line(0,240,640,240); /*画X轴*/
for(x=0;x<360;x++) /*从0°到360°*/
{
s=sin((x*3.14159*2)/360.0); /*转换成弧度,再计算y值*/
y=480-(s*150+240); /*放大150倍便于显示,位移到屏幕中间+240,倒置480-*/
putpixel(x,y,WHITE);
}
getch();
}
‘陆’ 如何编译Linux操作系统的源代码
首先uname
-r看一下你当前的linux内核版本
1、linux的源码是在/usr/src这个目录下,此目录有你电脑上各个版本的linux内核源代码,用uname
-r命令可以查看你当前使用的是哪套内核,你把你下载的内核源码也保存到这个目录之下。
2、配置内核
make
menuconfig,根据你的需要来进行选择,设置完保存之后会在当前目录下生成.config配置文件,以后的编译会根据这个来有选择的编译。
3、编译,依次执行make、make
bzImage、make
moles、make
moles
4、安装,make
install
5、.创建系统启动映像,到
/boot
目录下,执行
mkinitramfs
-o
initrd.img-2.6.36
2.6.36
6、修改启动项,因为你在启动的时候会出现多个内核供你选择,此事要选择你刚编译的那个版本,如果你的电脑没有等待时间,就会进入默认的,默认的那个取决于
/boot/grub/grub.cfg
文件的设置,找到if
[
"${linux_gfx_mode}"
!=
"text"
]这行,他的第一个就是你默认启动的那个内核,如果你刚编译的内核是在下面,就把代表这个内核的几行代码移到第一位如:
menuentry
'Ubuntu,
with
Linux
3.2.0-35-generic'
--class
ubuntu
--class
gnu-linux
--class
gnu
--class
os
{
recordfail
gfxmode
$linux_gfx_mode
insmod
gzio
insmod
part_msdos
insmod
ext2
set
root='(hd0,msdos1)'
search
--no-floppy
--fs-uuid
--set=root
9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic
root=UUID=9961c170-2566-41ac-8155-18f231c1bea5
ro
quiet
splash
$vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
当然你也可以修改
set
default="0"来决定用哪个,看看你的内核在第几位,default就填几,不过我用过这种方法,貌似不好用。
重启过后你编译的内核源码就成功地运行了,如果出现问题,比如鼠标不能用,usb不识别等问题就好好查查你的make
menuconfig这一步,改好后就万事ok了。
最后再用uname
-r看看你的linux内核版本。是不是你刚下的那个呢!有没有成就感?
‘柒’ 求c语言图形编程源代码O(∩_∩)O
1
#include<stdio.h>
intmain()
{
inti,j;
for(i=0;i<4;++i)
{
for(j=0;j<i;++j)
putchar('');
for(j=0;j<8;++j)
putchar('*');
putchar(' ');
}
return0;
}
2
#include<stdio.h>
intmain()
{
inti,j;
for(i=0;i<4;++i)
{
for(j=3-i;j>0;--j)
putchar('');
for(j=0;j<8;++j)
putchar('*');
putchar(' ');
}
return0;
}
‘捌’ 请问你现在有汇编语言 图形编辑器 的源代码吗
这个我好像有!你是哪个大学的?不会是unc的吧? 直接网络hi给我留言吧!后面的传给你。
DATA SEGMENT
X DW 200 ;起始点横坐标
Y DW 200 ;起始点纵坐标
ll1 DW 0 ;画线时的中间变量
LONG DW 100 ;矩形长
WIDE DW 50 ;矩形宽
COLOR DB 1 ;画笔颜色
COLOR_S DB 1 ;颜色板所选择的颜色
DIAN_NUM DW 1 ;画点数
NUM DW 0 ;中间变量
NUM1 DW 1 ;中间变量
TEMPX DW 0 ;坐标中间变量
TEMPY DW 0 ;坐标中间变量
x0 DW 300
y0 DW 300
d DW 0 ;画园时的中间变量
r DW 60 ;半径
c2 DW 2 ;常量
c4 DW 4 ;常量
x1 DW 100 ;直线端点1横坐标
y1 DW 100 ;直线端点1纵坐标
x2 DW 80 ;直线端点2横坐标
y2 DW 20 ;直线端点2纵坐标
a DW 0 ;横向改变量
b DW 0 ;纵向改变量
e DW 0 ;中间量
XX DW 0 ;画线中间量
YY DW 0 ;画线中间量
nowx DW 320 ;当前所在点
nowy DW 250 ;当前所在点
shux dw 320 ;鼠标所在点
shuy dw 250 ;鼠标所在点
PRINTOUT DB 'DRAW(F10)'
XIAN DB 'LINE(F1)'
JUXING DB 'RECT(F2)'
YUAN DB 'CIRCLE(F3)'
huabi db 'PEN(F4)'
MESS1 DB 'Press C To '
mess14 db 'Click Right Key'
MESS2 DB 'Change Color'
mess7 DB 'DO you know ?'
mess3 DB 'Press W,A,S,D to'
mess4 DB 'change area.'
mess5 DB 'Direction key to' ;要输入的文字
mess6 DB 'move place.'
mess8 DB 'PRESS < and > to'
mess9 DB 'F8 to Quit'
mess10 db 'Use direction key'
mess11 db 'to move the red'
mess12 db 'point.Press Enter'
mess13 db 'to select it.'
mess15 db 'Click Left Key'
mess16 db 'to Draw'
mess17 db 'Click Both Key'
mess18 db 'to Quit Pen'
FONTCOLOR DB 4 ;字体颜色
DATA ENDS
;**********************数据段结束***********************************
;*********************堆栈段开始************************************
STACK1 SEGMENT STACK
DW 20 DUP(0)
STACK1 ENDS
;********************堆栈段结束*************************************
;********************代码段开始**************************************************
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AH,0
MOV AL,12H ;设置为图形显示模式,16色,大小640*480
INT 10H
CALL DRAW_MENU ;调用画菜单子程序
kaishi: ;操作开始处
MOV AH,0
INT 16H ;产生一个键盘中断,等待用户的输入
CMP AH,44H
JE SELE ;弹出菜单
CMP AH,2eh
JE cha ;选择颜色
CMP AH,01H
JE EARE ;收回菜单
CMP AH,42h
JE quit ;退出
JNE kaishi ;如果用户输入的是无效字符,则返回操作开始处
;----------------------------------------------------------
cha:
CALL DRAW_COLOR ;选择颜色
JMP kaishi
;----------------------------------------------------------
;----------------------------------------------------------
EARE:
MOV COLOR,0
CALL DEL_LIST ;收回弹出菜单
JMP KAISHI
;----------------------------------------------------------
;----------------------------------------------------------
quit:
JMP temp_return1 ;退出
;----------------------------------------------------------