http://wiki.allegro.cc/AllegroExamples以上是英文例子站点。
by Shawn Hargreaves,allegro的作者
目录: 1 Allegro 例子
1.1 exhello
1.2 exmem
这个例子演示了内存位图的用法。
它在内存里创建了一个用于输出的小(相对与screen)模板位图,
并在上面绘制了一些圆圈。
最后使用blits将它复制到屏幕上。
#include <allegro.h>
int main(void)
{
BITMAP *memory_bitmap;
int x, y;
if (allegro_init() != 0)
return 1;
install_keyboard();
if (set_gfx_mode(GFX_AUTODETECT, 320, 200, 0, 0) != 0) {
if (set_gfx_mode(GFX_SAFE, 320, 200, 0, 0) != 0) {
set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
allegro_message("Unable to set any graphic mode\n%s\n", allegro_error);
return 1;
}
}
set_palette(desktop_palette);
/* 设置内存位图的大小为20x20 */
memory_bitmap = create_bitmap(20, 20);
/*在上面画一些圈圈 */
clear_bitmap(memory_bitmap);
for (x=0; x<16; x++)
circle(memory_bitmap, 10, 10, x, palette_color[x]);
/*将模板位图复制到屏幕N次 */
acquire_screen();
for (y=0; y<SCREEN_H; y+=20)
for (x=0; x<SCREEN_W; x+=20)
blit(memory_bitmap, screen, 0, 0, x, y, 20, 20);
release_screen();
/*释放掉内存位图 */
destroy_bitmap(memory_bitmap);
readkey();
return 0;
}
END_OF_MAIN()
------------------------------------------------------------------------------------------------------------
小结二:
1、// 此函数在内存中开辟了一个大小为20*20的位图,它并不实际显示
memory_bitmap = create_bitmap(20, 20);
2、clear_bitmap(memory_bitmap); // 你没办法保证在使用你的位图之前,它是无残留数据的,所以清除它。
3、circle(memory_bitmap, 10, 10, x, palette_color[x]); // 基本绘制函数
4、从上次小结就遗留下来的问题set_palette(desktop_palette);
PALETTE* desktop_palette;// 类型 PALETTE 被定义成 256 RGB 结构的数组.
(以下摘自Shawn Hargreaves的3.1使用手册,风云翻译):extern PALETTE desktop_palette;
这个调色板由 Atari ST 低分辨率桌面使用. 我不好 确认这个为什么还在这儿, 除了 grabber 和测试程序使用外,就没什么用途了. 这可能是 Allegro 里 Atari 仅有的遗留代码, 可能是不好意识把它去掉吧 :-)
set_palette();//设置整个调色板的 256 种颜色. 你应提供 256 个 RGB 结构的数组
5、blit(memory_bitmap, screen, 0, 0, x, y, 20, 20); // 位块复制,没啥好说的...
void blit(BITMAP *source, BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height);
6、destroy_bitmap(memory_bitmap); // 释放位图,与 memory_bitmap = create_bitmap(20,20);相对
--------------------------------------------------------------------------------------------------------------------------------------------------
使用allegro的公式:
1、allegro_init(); // 必须的
2、install_keyboard(); // 初始化,相关的还有install_mouse(); install_joystick();
3、set_gfx_mode(标志量,屏幕宽,屏幕高,0,0); // 设置显示模式
4、set_palette(desktop_palette); // 设置调色板
5、绘制(直接写屏、文字输出、新建位图,位图拷贝);
6、readkey();响应用户输入事件
7、END_OF_MAIN // 必须的
分享到:
相关推荐
Allegro学习笔记之7_焊盘设计,cadence软件设计教程
Allegro的学习资料你,关于如何导出Gerber文件和钻孔数据文件
Allegro学习笔记之6——热风焊盘Allegro学习笔记之6——热风焊盘
Allegro学习笔记系列 有初学者可以一起学习
ALLEGRO学习笔记(注释).doc
Allegro学习笔记汇编.pdf
ALLEGRO学习笔记,整理了自己很多年的经验,初学者共同进步啊
Orcad_Capture CIS_Allegro学习笔记,方便制版layout学习
Allegro16.6学习笔记,当时我刚开始学习allegro时有用到过,适用于初学者学习使用
初学allegro pcb软件,自己总结的一些笔记,欢迎大家交流
Allegro层叠
Allegro_16.2学习笔记.pdf
Cadence Allegro 16.3 在以往的版本基础上添加了许多新的功能,这是我二周来的学习总结,当然很多部分是对其界面的总结。同时还有些高速PCB 经验记录。
allegro-16.6入门学习笔记详细记载了学习期间重要的步骤以及注意点。对初次接触allegro能起到很好的学习帮助作用。
Candence Allegro,高速电路板专用画图软件,
【使用软件】Pad Designer 、PCB Editor 【步骤】 第一步:建立标贴焊盘 0603焊盘尺寸如下: 打开pad designer 做如下设置 参数页设置单位Units和精度 ...打开allegro软件,创建封装文件,如下,添加到对应的路径
这些资料其中包括,Allegro教程,Allegro设计流程。Altium板转换为Allegr,Allegro学习笔记等13份入门资料。仅供参考。
自己的学习心得,给初学allegro的同鞋们一点参考,自己的做的笔记,比找资料要来的快一些。
candence allegro学习笔记 原理图及PCB设计步骤详细
史上最全的Allegro入门中文学习资料,包含学习笔记,速成教材,中文教程