Board logo

标题: 如何显示大字体 [打印本页]

作者: fsblm     时间: 2006-2-17 16:00    标题: 如何显示大字体

各位大虾:
小弟刚学DJGPP+ALLEGRO遇到在图形模式下想显示一些大的日期与时间的问题。请帮忙解答一吓
#include "conio.h"
#include "stdio.h"
#include "dos.h"
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#include "allegro.h"

BITMAP *b1,*b2,*BCK;
PALLETE M32;

main()
{
char tmp[128];
struct tm *ptr;
time_t lt;
allegro_init();
set_color_depth(16);/ t CRT color to 16
set_gfx_mode(GFX_AUTODETECT,640,480,0,0);
b1=load_bitmap("tb1.bmp",M32);
masked_blit(b1,screen,0,0,0,0,640,480);
lt=time(NULL);
ptr=gmtime(&lt);
ptr=localtime(&lt);
strftime(tmp,128,"%A\n",ptr);
text_mode(-1);
textout_centre(screen,font,tmp,345,280,-1);//在这里如何可以把字体调大一点
strftime(tmp,128,"%b-%d-%Y\n",ptr);
textout(screen,font,tmp,300,290,-1);//在这里如何可以把字体调大一点

getch();
return 0;
}
作者: fsblm     时间: 2006-2-18 11:23
不是吧!!
也有没有理理我。。。。
请各位给点帮助好吗?
作者: dos_jacky     时间: 2006-2-19 01:32
#include <allegro.h>



int main(void)
{
   FONT *f1, *f2, *f3, *f4, *f5;
   FONT *tempfont;
   char tmp[128];
   struct tm *ptr;
   BITMAP *b1,*b2,*BCK;
   
   time_t lt;   
   
   
   allegro_init();
   install_keyboard();
   set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0);
   set_palette(desktop_palette);
   clear_to_color(screen, makecol(255, 255, 255));
   
   f1 = load_font("unifont.dat", NULL, NULL);
   f2 = extract_font_range(f1, ' ', 'A'-1);
   f3 = extract_font_range(f1, 'A', 'Z');
   f4 = extract_font_range(f1, 'Z'+1, 'z');
   tempfont = merge_fonts(f4, f5 = merge_fonts(f2, f3));
   
   destroy_font(f1);
   destroy_font(f2);
   destroy_font(f3);
   destroy_font(f4);
   destroy_font(f5);

   acquire_screen();

   b1=load_bitmap("tb1.bmp",NULL);
   lt=time(NULL);
   ptr=gmtime(&lt);
   ptr=localtime(&lt);
   strftime(tmp,128,"%A",ptr);
   textout_centre_ex(screen,     font,tmp, SCREEN_W/2, SCREEN_H/2-50,makecol(0,0,0), -1);
   strftime(tmp,128,"%b-%d-%Y",ptr);   
   textout_centre_ex(screen, tempfont,tmp, SCREEN_W/2, SCREEN_H/2   ,makecol(0,0,0), -1);
   
   release_screen();
   readkey();

   return 0;
}

本來有附上編譯好的可執行檔,可是一直上傳不了。
你如果要的話,我在發mail到你的mail裡。
作者: fsblm     时间: 2006-2-20 09:20    标题: 谢谢

谢谢dos_jacky的指点,但是在我的电脑上面编译通不过,不知道是不是我所用的DJGPP+ALLEGRO版本与你的版本不同,你能把你所用的版本信息告诉我吗?或者能把这个例子发一个EMAILL给我吗?我的邮箱是fs_blm@126.com  在此先谢谢你。
作者: dos_jacky     时间: 2006-2-20 13:50
我使用的
allegro版本為:Version 4.2.0 (beta3)
djgpp版本為:2.02版
gcc版本為:3.21版

程式正在發到你的mail中,請查收。
檔案內容(test.rar):
test.c
test.exe
unfont.dat

*******你的mail有問題!!!!請查明!!!************
This is an automatically generated Delivery Status Notification.
Delivery to the following recipients failed.
       fs_blm@126.com

[ Last edited by dos_jacky on 2006-2-20 at 14:02 ]
作者: fsblm     时间: 2006-2-21 08:13    标题: 谢谢,对不起

对不起,我上面的邮箱地址写错了,写多了一个下划线。应该是fsblm@126.com你可以重发一次给我吗?在此先谢谢,还有我现在使用的ALLEGRO为3。1版,里面好像没有LOAD_FONT()这个函数,你能把你用开的ALLEGRO库发一份过来给我吗?在此再次感谢你的帮助。
作者: dos_jacky     时间: 2006-2-21 18:39
已經發出,請查明。