scaler.h
上传用户:lwxs689
上传日期:2010-02-24
资源大小:130k
文件大小:24k
源码类别:

BREW编程

开发平台:

C/C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #define SOURCE_WIDTH 79
  5. #define SOURCE_HEIGHT 69
  6. #define CNTR_X 160
  7. #define CNTR_Y 120
  8. /* Below is a linear bitmap of your's truly!!! 8-)*/
  9. /* This one was my grade 12 photo id.*/
  10. char bitmap[]=
  11. {
  12.  57, 55, 54, 54, 48, 48, 48, 46, 46, 46, 46, 46, 46, 48, 54, 54, 55, 55, 55, 57, 60, 60, 60, 59, 57, 57, 54, 52, 54, 54, 50, 48, 46, 46, 48, 50, 54, 54, 55, 57, 59, 60, 60, 60, 60, 60, 62, 62, 60, 60, 60, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 57, 55, 55, 52, 52, 52, 52, 50, 54, 54, 55, 60,
  13.  57, 55, 55, 52, 50, 46, 48, 46, 45, 46, 48, 46, 48, 48, 54, 54, 55, 55, 55, 59, 59, 60, 59, 60, 59, 55, 55, 55, 54, 52, 50, 48, 46, 48, 50, 50, 52, 55, 55, 55, 57, 59, 60, 60, 62, 62, 60, 59, 60, 60, 60, 60, 59, 60, 60, 60, 59, 60, 60, 60, 59, 59, 60, 59, 59, 60, 59, 57, 55, 54, 54, 54, 52, 50, 50, 50, 54, 54, 60,
  14.  57, 57, 55, 55, 50, 48, 48, 46, 46, 46, 46, 46, 46, 48, 50, 52, 54, 55, 55, 57, 60, 60, 60, 59, 57, 57, 54, 52, 54, 54, 50, 48, 46, 46, 48, 50, 54, 54, 55, 57, 59, 60, 60, 60, 60, 60, 62, 62, 60, 60, 60, 59, 60, 60, 60, 60, 60, 59, 60, 59, 60, 60, 62, 60, 60, 60, 59, 57, 57, 55, 52, 52, 52, 52, 52, 48, 54, 55, 60,
  15.  59, 57, 55, 55, 52, 52, 50, 48, 46, 46, 48, 46, 50, 50, 52, 55, 54, 55, 55, 59, 59, 60, 59, 60, 59, 55, 55, 55, 54, 52, 50, 48, 46, 48, 50, 50, 52, 55, 55, 55, 57, 59, 60, 60, 62, 62, 60, 59, 60, 60, 60, 60, 59, 59, 60, 60, 60, 59, 60, 60, 60, 60, 60, 59, 60, 60, 60, 59, 55, 55, 54, 52, 52, 52, 52, 52, 55, 55, 60,
  16.  57, 57, 57, 55, 54, 48, 48, 46, 46, 46, 46, 46, 48, 52, 52, 52, 52, 54, 57, 57, 59, 60, 60, 60, 57, 55, 54, 52, 55, 50, 48, 45, 46, 46, 48, 48, 48, 52, 55, 54, 60, 59, 60, 60, 60, 62, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 60, 60, 57, 59, 57, 55, 54, 54, 50, 50, 52, 54, 54, 55, 60,
  17.  57, 55, 55, 54, 52, 48, 46, 46, 46, 46, 46, 46, 46, 46, 50, 54, 52, 54, 57, 60, 59, 60, 60, 59, 59, 57, 54, 52, 52, 54, 52, 45, 46, 46, 50, 50, 52, 54, 55, 55, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 60, 59, 60, 60, 60, 59, 60, 60, 60, 60, 60, 60, 60, 57, 57, 57, 55, 55, 54, 52, 52, 50, 52, 54, 55, 60,
  18.  59, 57, 57, 55, 54, 50, 48, 46, 45, 45, 46, 46, 48, 50, 50, 52, 54, 54, 57, 59, 59, 60, 60, 59, 59, 57, 55, 52, 52, 52, 48, 46, 46, 46, 48, 50, 52, 54, 54, 55, 59, 57, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 57, 57, 55, 55, 54, 54, 52, 50, 52, 54, 54, 60,
  19.  57, 60, 57, 54, 52, 50, 48, 45, 45, 45, 45, 45, 46, 48, 46, 50, 52, 55, 55, 57, 59, 60, 60, 60, 59, 55, 52, 54, 48, 48, 45, 46, 46, 46, 46, 48, 50, 52, 52, 55, 55, 59, 59, 60, 60, 60, 59, 60, 59, 60, 60, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 55, 54, 54, 52, 50, 50, 50, 52, 54, 60,
  20.  59, 59, 57, 52, 50, 48, 48, 46, 45, 45, 45, 45, 46, 46, 46, 46, 52, 52, 55, 57, 59, 60, 60, 60, 57, 54, 54, 46, 46, 45, 39, 43, 41, 41, 43, 43, 45, 45, 48, 50, 52, 55, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 57, 55, 55, 52, 54, 50, 48, 48, 52, 54, 60,
  21.  59, 59, 54, 54, 52, 48, 46, 45, 45, 43, 43, 43, 46, 46, 46, 50, 52, 54, 55, 55, 57, 60, 59, 59, 55, 52, 41, 32, 25, 19, 17, 15, 19, 17, 19, 19, 19, 19, 20, 32, 38, 46, 55, 54, 55, 59, 59, 60, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 59, 60, 60, 59, 59, 57, 54, 54, 52, 50, 52, 52, 52, 55, 60,
  22.  59, 59, 59, 55, 54, 50, 48, 45, 43, 43, 46, 43, 45, 46, 46, 48, 50, 52, 54, 52, 57, 59, 59, 54, 45, 25, 11, 11, 11,  8,  8,  6,  6,  6,  8,  6,  6,  8,  8, 11, 11, 13, 31, 27, 38, 50, 52, 55, 59, 60, 59, 60, 59, 60, 60, 62, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 60, 60, 59, 59, 55, 54, 52, 54, 52, 54, 54, 55, 60,
  23.  59, 59, 57, 55, 52, 48, 48, 46, 43, 41, 45, 43, 46, 45, 46, 46, 48, 52, 52, 54, 55, 55, 55, 45, 24, 11, 10,  6,  8,  6,  6,  5,  6,  6,  8,  8, 10,  6,  8,  6, 10, 10, 11, 11, 11, 17, 19, 39, 57, 57, 57, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 60, 59, 57, 55, 54, 50, 50, 50, 48, 54, 54, 60,
  24.  59, 59, 55, 55, 54, 48, 48, 46, 43, 45, 45, 43, 43, 45, 46, 45, 46, 50, 54, 54, 54, 52, 50, 32, 15,  8,  8,  8,  6,  8,  6,  6,  6,  8,  8,  6,  8,  8,  8,  8,  8,  8,  8,  8, 10, 11, 13, 24, 45, 55, 55, 57, 57, 59, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 60, 60, 60, 59, 59, 57, 54, 55, 52, 50, 52, 52, 52, 55, 59,
  25.  60, 59, 57, 55, 55, 50, 50, 48, 46, 45, 45, 43, 43, 46, 46, 46, 46, 50, 50, 52, 46, 27, 19, 11, 10,  8,  6,  6,  8,  6,  6,  6,  8,  8,  6,  6,  8,  8,  6,  8,  8,  8,  8,  8,  8,  8,  8, 13, 19, 24, 46, 55, 55, 59, 60, 60, 60, 60, 60, 62, 60, 60, 60, 60, 62, 60, 59, 60, 59, 57, 57, 57, 55, 52, 52, 45, 52, 55, 60,
  26.  59, 59, 57, 55, 54, 48, 48, 48, 45, 43, 43, 41, 43, 43, 45, 46, 46, 50, 52, 46, 29, 11, 10,  8,  6,  8,  6,  6,  6,  8,  8,  6,  6,  8,  8,  6,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 10, 10, 11, 13, 39, 55, 55, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 60, 60, 57, 55, 54, 52, 48, 50, 50, 52, 54, 60,
  27.  59, 59, 57, 54, 52, 46, 48, 46, 46, 43, 43, 41, 41, 43, 45, 45, 45, 46, 48, 39, 15,  8,  6,  8,  6,  8,  6,  8,  6,  6,  6,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 10,  8, 10, 11, 15, 46, 54, 57, 60, 62, 60, 60, 62, 62, 60, 62, 60, 60, 62, 62, 60, 60, 59, 57, 55, 54, 54, 50, 52, 52, 52, 55, 60,
  28.  57, 59, 57, 55, 54, 52, 46, 46, 45, 43, 43, 41, 41, 43, 43, 45, 45, 48, 41, 24, 10,  8,  6,  6,  6,  6,  6,  5,  6,  6,  6,  8,  8,  6,  8,  6,  6,  8,  8,  6,  8, 10,  8,  8,  6,  6,  8,  8,  8, 11, 13, 34, 50, 55, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 60, 60, 59, 59, 57, 57, 55, 55, 55, 54, 48, 54, 55, 60,
  29.  59, 57, 57, 55, 54, 48, 48, 46, 45, 43, 43, 43, 43, 41, 45, 45, 46, 45, 39, 19,  8,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  8,  8,  8,  8,  8,  8,  8,  8,  8,  6,  8,  6,  6,  6,  8,  8,  8,  8, 11, 27, 29, 55, 57, 60, 59, 59, 60, 60, 60, 60, 62, 60, 60, 62, 60, 59, 59, 57, 57, 54, 55, 54, 52, 52, 50, 55, 60,
  30.  57, 59, 57, 55, 54, 50, 48, 46, 43, 43, 43, 43, 43, 41, 43, 43, 45, 45, 34, 15,  8,  8,  6,  8,  6,  6,  6,  8,  6,  8,  6,  6,  6,  8,  8,  8,  6,  8,  8,  8,  8,  6,  6,  8,  6,  8,  6,  8,  8, 10, 13, 25, 27, 54, 55, 60, 60, 60, 60, 60, 60, 60, 62, 62, 60, 60, 60, 60, 60, 59, 55, 55, 54, 54, 54, 52, 54, 55, 60,
  31.  59, 57, 57, 55, 55, 48, 46, 46, 45, 43, 41, 43, 43, 43, 45, 43, 45, 45, 31, 13,  8,  8,  6,  6,  6,  6,  6,  6,  6,  8,  8,  6,  6, 10,  8,  6,  6,  8,  6,  6,  6,  8,  6,  8,  6,  8,  6,  6,  8,  8, 11, 13, 25, 52, 57, 60, 60, 60, 60, 62, 60, 60, 60, 60, 60, 60, 60, 60, 59, 57, 57, 55, 55, 54, 54, 54, 55, 55, 60,
  32.  59, 59, 59, 57, 52, 50, 48, 46, 41, 43, 43, 41, 41, 43, 43, 45, 45, 43, 34, 19,  8,  6,  8,  8,  8,  8, 15, 24, 25, 27, 31, 29, 31, 27, 22, 15, 15, 19, 24, 25, 15, 19, 11, 15, 17, 11,  8,  8,  8,  8,  8,  8, 20, 52, 57, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 62, 59, 59, 57, 57, 54, 54, 52, 52, 55, 55, 60,
  33.  59, 57, 57, 55, 54, 50, 46, 46, 46, 43, 43, 41, 43, 41, 43, 45, 45, 45, 31, 17,  8,  8,  8,  8, 15, 20, 24, 25, 31, 34, 36, 34, 38, 34, 29, 25, 24, 29, 32, 29, 29, 29, 27, 25, 20, 20, 13,  8,  8, 10,  8,  8, 27, 52, 59, 60, 59, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 59, 60, 60, 57, 55, 55, 54, 54, 55, 55, 55, 60,
  34.  59, 57, 57, 55, 55, 48, 46, 45, 45, 43, 41, 43, 43, 43, 41, 45, 46, 43, 34, 17,  8,  8,  8, 13, 19, 24, 25, 29, 32, 36, 38, 34, 36, 34, 34, 34, 36, 34, 36, 36, 36, 34, 31, 29, 25, 22, 15,  8,  8,  8,  8, 11, 38, 54, 60, 59, 60, 60, 60, 60, 60, 62, 60, 62, 60, 60, 62, 60, 59, 59, 57, 55, 57, 55, 54, 54, 54, 55, 60,
  35.  59, 59, 57, 55, 54, 50, 46, 45, 43, 43, 41, 41, 41, 43, 41, 45, 45, 46, 36, 19,  8,  6,  8, 17, 19, 25, 25, 31, 34, 36, 32, 32, 34, 34, 34, 36, 34, 32, 34, 34, 36, 34, 32, 29, 29, 22, 17, 13,  8,  8,  8, 11, 45, 55, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 55, 57, 55, 55, 54, 52, 55, 55, 60,
  36.  60, 59, 57, 57, 55, 50, 50, 46, 45, 43, 41, 41, 43, 41, 45, 45, 43, 45, 38, 19, 10,  8,  8, 15, 22, 24, 25, 29, 31, 31, 32, 36, 34, 38, 36, 39, 34, 34, 32, 31, 32, 36, 32, 31, 29, 24, 19, 15,  8,  8,  8, 20, 50, 55, 60, 60, 60, 60, 60, 60, 60, 62, 60, 60, 60, 60, 60, 59, 59, 59, 57, 55, 55, 54, 52, 55, 55, 55, 60,
  37.  59, 59, 57, 54, 52, 50, 50, 46, 45, 41, 41, 41, 41, 41, 43, 41, 45, 43, 39, 19,  8,  8, 10, 13, 20, 22, 25, 25, 27, 29, 32, 34, 38, 39, 38, 38, 38, 38, 36, 31, 32, 31, 31, 27, 25, 22, 20, 13,  8,  8,  8, 29, 52, 57, 59, 60, 60, 60, 60, 60, 60, 60, 60, 59, 62, 60, 62, 60, 57, 57, 59, 55, 55, 55, 54, 52, 55, 54, 60,
  38.  60, 60, 57, 55, 55, 52, 50, 46, 45, 45, 41, 38, 41, 41, 43, 43, 43, 43, 36, 19,  8,  8, 10, 13, 19, 22, 24, 27, 32, 32, 34, 38, 38, 39, 43, 36, 38, 39, 39, 36, 34, 32, 27, 27, 25, 22, 22, 15, 10,  8,  8, 29, 54, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 57, 57, 57, 55, 55, 52, 54, 54, 55, 60,
  39.  60, 59, 55, 57, 54, 52, 50, 46, 45, 43, 43, 41, 39, 41, 41, 41, 45, 43, 38, 19, 10,  8,  8, 13, 17, 20, 20, 25, 29, 32, 36, 41, 43, 41, 41, 43, 43, 45, 43, 36, 32, 29, 27, 27, 25, 22, 22, 15, 13,  8, 10, 41, 55, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 59, 59, 59, 55, 57, 55, 55, 52, 54, 54, 55, 60,
  40.  59, 57, 55, 55, 54, 50, 50, 45, 45, 43, 45, 41, 41, 43, 41, 41, 43, 43, 36, 19,  8,  6,  8, 13, 17, 20, 20, 22, 25, 27, 29, 32, 39, 41, 45, 46, 43, 32, 29, 25, 22, 20, 15, 17, 24, 22, 20, 19, 13,  8, 13, 48, 57, 59, 59, 60, 59, 59, 62, 60, 60, 60, 62, 60, 60, 62, 62, 60, 59, 59, 57, 55, 55, 55, 52, 55, 54, 55, 60,
  41.  59, 59, 57, 55, 54, 50, 48, 45, 45, 45, 41, 41, 41, 39, 41, 41, 43, 43, 38, 24, 10,  8, 11, 17, 17, 15, 11, 11, 11, 11, 11, 15, 25, 36, 41, 38, 32, 22, 13, 11, 13, 13, 11, 13, 11, 19, 22, 20, 11,  8, 19, 50, 57, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 60, 60, 60, 60, 59, 59, 55, 57, 57, 54, 52, 55, 55, 55, 60,
  42.  59, 57, 57, 55, 52, 50, 48, 45, 46, 43, 41, 43, 41, 43, 43, 43, 45, 43, 41, 25, 11,  8, 13, 19, 13, 10, 11, 13, 13, 10, 15, 17, 20, 29, 38, 36, 31, 24, 22, 20, 24, 25, 25, 24, 24, 20, 25, 22, 13, 10, 24, 54, 57, 60, 60, 60, 62, 60, 60, 60, 60, 60, 60, 60, 62, 60, 62, 60, 59, 60, 57, 57, 57, 55, 52, 52, 54, 54, 60,
  43.  57, 59, 57, 57, 54, 52, 48, 48, 46, 43, 43, 39, 41, 41, 43, 41, 43, 43, 41, 29, 11,  8, 15, 17, 15, 17, 20, 22, 20, 19, 19, 17, 20, 25, 31, 32, 24, 20, 20, 15, 17, 17, 19, 25, 24, 24, 25, 22, 11,  8, 24, 48, 55, 60, 60, 60, 60, 60, 60, 60, 60, 62, 60, 60, 62, 60, 60, 60, 60, 57, 57, 57, 57, 55, 50, 54, 55, 55, 60,
  44.  57, 59, 55, 55, 55, 52, 50, 50, 46, 46, 43, 39, 39, 41, 41, 43, 45, 43, 38, 27, 17, 10, 13, 19, 19, 19, 19, 11, 13, 15, 24, 20, 15, 19, 25, 24, 20, 22, 24, 27, 13, 13, 13, 17, 24, 25, 25, 22, 17, 20, 32, 34, 54, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 57, 55, 55, 55, 52, 54, 55, 55, 59,
  45.  57, 57, 57, 55, 54, 50, 50, 46, 48, 45, 43, 41, 41, 41, 39, 41, 43, 43, 38, 27, 24, 19, 19, 19, 20, 19, 15, 15, 15, 20, 27, 24, 22, 19, 25, 22, 22, 27, 29, 29, 25, 24, 24, 22, 25, 25, 25, 25, 24, 32, 31, 36, 50, 60, 60, 60, 62, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 57, 57, 55, 54, 54, 54, 54, 57, 60,
  46.  55, 57, 55, 55, 54, 52, 54, 50, 48, 45, 41, 43, 39, 39, 41, 43, 43, 39, 32, 29, 25, 22, 20, 22, 20, 22, 20, 22, 27, 29, 29, 24, 19, 19, 25, 24, 20, 24, 31, 31, 31, 31, 29, 31, 29, 29, 27, 25, 27, 32, 34, 41, 54, 59, 60, 59, 60, 62, 60, 60, 60, 60, 59, 60, 60, 60, 60, 60, 60, 59, 57, 55, 55, 55, 54, 52, 55, 55, 60,
  47.  57, 55, 57, 54, 52, 52, 48, 48, 45, 45, 43, 41, 41, 41, 39, 41, 41, 38, 31, 34, 29, 29, 20, 22, 24, 25, 25, 27, 29, 31, 29, 22, 19, 22, 29, 25, 22, 22, 31, 31, 34, 34, 32, 32, 29, 29, 27, 29, 29, 36, 36, 43, 55, 59, 59, 60, 60, 60, 62, 60, 60, 59, 60, 59, 60, 60, 60, 59, 59, 57, 57, 55, 54, 54, 50, 52, 54, 55, 60,
  48.  57, 55, 55, 55, 52, 52, 52, 48, 45, 43, 43, 41, 41, 41, 39, 41, 45, 36, 27, 31, 32, 32, 22, 22, 24, 25, 29, 31, 31, 31, 27, 22, 19, 22, 31, 29, 24, 25, 31, 31, 32, 32, 36, 36, 31, 29, 27, 29, 36, 39, 39, 46, 57, 60, 60, 60, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 57, 55, 55, 55, 52, 54, 54, 54, 60,
  49.  59, 57, 57, 57, 54, 50, 52, 50, 45, 43, 41, 41, 38, 38, 38, 43, 41, 38, 22, 27, 32, 31, 22, 19, 24, 25, 29, 31, 29, 29, 22, 22, 19, 24, 31, 27, 24, 25, 31, 32, 34, 32, 39, 32, 32, 31, 27, 32, 39, 43, 41, 52, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 62, 62, 60, 59, 59, 55, 55, 55, 52, 52, 52, 55, 55, 60,
  50.  55, 57, 55, 55, 52, 52, 50, 48, 45, 43, 38, 38, 38, 41, 38, 41, 39, 38, 25, 22, 27, 27, 22, 20, 24, 25, 31, 29, 31, 31, 25, 22, 17, 24, 29, 25, 22, 25, 32, 32, 36, 36, 36, 34, 32, 29, 25, 32, 31, 36, 41, 54, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 60, 60, 59, 59, 59, 57, 57, 57, 55, 54, 52, 52, 55, 55, 60,
  51.  55, 55, 55, 54, 52, 50, 50, 50, 46, 45, 38, 38, 39, 39, 41, 39, 41, 41, 34, 20, 27, 27, 22, 19, 25, 27, 29, 31, 32, 34, 29, 20, 19, 25, 29, 27, 24, 24, 34, 38, 38, 36, 34, 34, 32, 27, 27, 34, 34, 34, 45, 55, 60, 60, 60, 60, 60, 59, 60, 60, 60, 60, 60, 60, 59, 60, 60, 59, 59, 57, 57, 54, 55, 54, 52, 54, 55, 55, 60,
  52.  55, 55, 55, 55, 54, 48, 48, 45, 45, 41, 39, 41, 39, 39, 41, 41, 41, 41, 38, 24, 24, 24, 22, 20, 20, 25, 31, 31, 32, 36, 29, 22, 20, 32, 38, 31, 25, 24, 32, 38, 36, 34, 34, 32, 29, 25, 25, 38, 34, 36, 50, 57, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 57, 55, 54, 55, 55, 52, 55, 55, 60,
  53.  55, 55, 57, 55, 52, 48, 48, 46, 45, 45, 41, 41, 38, 39, 41, 41, 41, 41, 41, 27, 22, 25, 29, 22, 24, 25, 29, 31, 32, 32, 27, 20, 22, 29, 29, 25, 24, 27, 31, 34, 34, 34, 32, 31, 31, 27, 27, 32, 31, 38, 52, 59, 59, 60, 59, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 60, 59, 59, 59, 57, 57, 55, 52, 54, 54, 52, 55, 55, 60,
  54.  55, 55, 54, 54, 52, 48, 46, 45, 48, 41, 39, 41, 38, 38, 41, 39, 39, 41, 41, 32, 17, 22, 25, 20, 22, 24, 27, 29, 31, 27, 22, 20, 19, 19, 22, 22, 24, 27, 31, 31, 32, 32, 32, 29, 29, 25, 25, 20, 31, 52, 57, 59, 59, 60, 60, 60, 60, 59, 60, 60, 60, 59, 60, 60, 60, 60, 59, 59, 59, 57, 55, 55, 55, 55, 54, 52, 55, 55, 60,
  55.  55, 55, 57, 54, 50, 50, 48, 45, 46, 43, 41, 39, 38, 41, 41, 41, 41, 43, 43, 36, 20, 15, 11, 13, 19, 22, 25, 27, 27, 29, 24, 24, 24, 27, 29, 27, 29, 25, 29, 31, 31, 32, 29, 29, 27, 25, 39, 45, 52, 55, 55, 60, 59, 60, 60, 60, 60, 62, 60, 60, 59, 59, 59, 60, 60, 60, 59, 59, 60, 57, 57, 55, 55, 55, 54, 50, 55, 55, 59,
  56.  57, 54, 54, 54, 52, 48, 50, 46, 46, 43, 43, 39, 41, 39, 39, 41, 41, 45, 43, 41, 34, 27, 25, 17, 20, 20, 25, 27, 25, 25, 24, 25, 25, 29, 32, 34, 31, 27, 29, 29, 31, 31, 29, 27, 27, 31, 48, 54, 55, 57, 59, 60, 59, 60, 60, 59, 59, 59, 60, 62, 59, 60, 60, 59, 59, 60, 60, 59, 59, 59, 57, 54, 55, 55, 54, 52, 55, 55, 60,
  57.  54, 55, 52, 54, 52, 50, 48, 45, 45, 45, 43, 39, 38, 38, 41, 41, 43, 43, 45, 46, 45, 43, 38, 20, 17, 19, 25, 29, 29, 22, 15, 15, 17, 20, 22, 20, 17, 17, 20, 25, 32, 31, 27, 25, 25, 34, 52, 55, 57, 59, 60, 59, 60, 60, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 60, 60, 59, 59, 57, 55, 54, 55, 54, 54, 54, 54, 54, 60,
  58.  54, 54, 54, 54, 52, 50, 48, 46, 45, 43, 41, 41, 41, 36, 41, 41, 41, 41, 46, 46, 46, 46, 39, 20, 19, 20, 20, 27, 31, 27, 22, 19, 19, 22, 25, 25, 22, 24, 25, 32, 32, 29, 27, 29, 27, 36, 52, 57, 57, 60, 60, 57, 59, 60, 59, 60, 60, 60, 60, 60, 60, 60, 60, 59, 57, 60, 59, 59, 57, 57, 57, 55, 54, 54, 52, 52, 52, 55, 60,
  59.  55, 55, 55, 54, 52, 50, 50, 46, 46, 46, 43, 41, 39, 41, 38, 38, 41, 41, 43, 46, 48, 46, 39, 24, 17, 19, 19, 25, 27, 24, 24, 22, 20, 25, 31, 29, 25, 29, 31, 31, 32, 29, 25, 25, 27, 38, 54, 55, 59, 59, 59, 60, 60, 60, 60, 60, 59, 60, 59, 60, 59, 59, 59, 59, 59, 59, 59, 59, 57, 57, 55, 55, 55, 52, 52, 52, 54, 54, 60,
  60.  54, 52, 54, 54, 52, 50, 46, 46, 46, 45, 41, 41, 41, 38, 39, 39, 41, 41, 45, 46, 46, 46, 39, 25, 20, 17, 22, 19, 25, 24, 24, 24, 25, 29, 29, 32, 32, 31, 31, 31, 32, 27, 25, 25, 27, 38, 54, 55, 59, 60, 60, 59, 60, 60, 60, 59, 60, 60, 60, 59, 60, 60, 60, 59, 60, 59, 60, 59, 59, 59, 55, 55, 55, 52, 52, 52, 52, 54, 60,
  61.  55, 55, 54, 54, 52, 50, 46, 46, 46, 45, 43, 39, 36, 39, 39, 39, 43, 43, 45, 46, 48, 46, 41, 29, 22, 17, 19, 20, 22, 22, 25, 24, 29, 31, 31, 31, 32, 31, 31, 31, 31, 29, 25, 24, 31, 39, 54, 55, 59, 59, 59, 59, 60, 60, 60, 60, 60, 59, 60, 60, 59, 59, 59, 59, 57, 59, 59, 57, 55, 55, 55, 54, 54, 54, 54, 50, 54, 54, 59,
  62.  54, 54, 52, 50, 52, 48, 48, 46, 46, 43, 43, 41, 39, 38, 39, 39, 41, 43, 43, 46, 46, 48, 41, 31, 22, 17, 17, 17, 20, 24, 25, 25, 27, 31, 32, 32, 31, 31, 32, 31, 29, 27, 25, 25, 32, 39, 54, 55, 59, 59, 59, 59, 60, 60, 60, 60, 59, 60, 59, 60, 59, 57, 60, 60, 59, 59, 60, 59, 57, 57, 54, 50, 54, 55, 54, 52, 52, 54, 60,
  63.  52, 55, 55, 54, 54, 50, 48, 45, 45, 43, 41, 39, 38, 36, 38, 41, 41, 43, 45, 46, 46, 46, 39, 27, 24, 22, 15, 17, 19, 24, 25, 27, 31, 32, 36, 36, 31, 29, 29, 27, 29, 24, 22, 29, 32, 38, 55, 55, 59, 59, 59, 57, 60, 59, 60, 59, 59, 59, 60, 59, 59, 60, 59, 59, 60, 60, 59, 59, 59, 59, 55, 54, 54, 54, 52, 50, 54, 54, 60,
  64.  52, 55, 54, 52, 54, 50, 46, 46, 45, 43, 39, 38, 36, 36, 36, 36, 41, 43, 43, 46, 46, 46, 39, 29, 25, 24, 22, 17, 17, 19, 22, 25, 31, 31, 31, 31, 31, 29, 29, 27, 24, 20, 24, 31, 32, 39, 55, 55, 57, 59, 57, 57, 59, 59, 59, 60, 59, 59, 59, 59, 59, 59, 59, 55, 57, 59, 59, 57, 57, 57, 54, 55, 55, 54, 50, 52, 52, 52, 59,
  65.  54, 55, 54, 52, 54, 48, 48, 45, 43, 41, 38, 36, 34, 32, 36, 36, 38, 41, 41, 43, 46, 43, 38, 24, 25, 25, 24, 20, 15, 17, 20, 20, 24, 27, 24, 27, 27, 24, 24, 20, 19, 22, 31, 32, 34, 36, 52, 52, 52, 55, 55, 57, 59, 60, 60, 59, 59, 59, 59, 59, 59, 57, 57, 59, 57, 59, 59, 59, 59, 57, 55, 55, 54, 52, 50, 48, 50, 50, 60,
  66.  52, 50, 52, 52, 50, 46, 46, 45, 45, 43, 38, 36, 36, 36, 36, 36, 39, 41, 41, 43, 46, 46, 38, 22, 25, 29, 25, 24, 22, 13, 15, 17, 20, 20, 20, 22, 20, 19, 20, 19, 24, 27, 32, 34, 31, 31, 45, 54, 55, 55, 57, 55, 57, 60, 59, 59, 59, 57, 59, 57, 59, 59, 59, 59, 59, 60, 59, 57, 57, 55, 54, 52, 54, 52, 48, 50, 50, 50, 60,
  67.  52, 54, 52, 52, 48, 48, 45, 45, 45, 41, 38, 38, 36, 36, 36, 36, 38, 39, 41, 41, 45, 43, 36, 22, 24, 29, 29, 27, 22, 20, 19, 17, 17, 17, 19, 20, 20, 24, 24, 24, 25, 31, 34, 34, 29, 29, 25, 34, 50, 55, 55, 57, 57, 59, 57, 59, 57, 57, 59, 57, 59, 60, 59, 59, 55, 59, 57, 59, 57, 55, 54, 54, 54, 52, 52, 50, 48, 52, 60,
  68.  50, 52, 52, 52, 50, 45, 46, 45, 41, 41, 38, 34, 36, 34, 34, 36, 38, 38, 41, 41, 43, 39, 29, 22, 25, 29, 31, 29, 27, 22, 20, 25, 27, 32, 34, 34, 31, 31, 29, 27, 29, 32, 34, 34, 34, 29, 25, 24, 32, 48, 54, 55, 57, 57, 59, 59, 59, 57, 59, 60, 57, 59, 59, 57, 57, 57, 59, 57, 57, 57, 52, 54, 52, 52, 50, 48, 50, 52, 60,
  69.  50, 52, 52, 50, 52, 46, 46, 45, 43, 41, 36, 36, 34, 34, 36, 36, 38, 38, 39, 41, 38, 27, 19, 22, 25, 29, 31, 31, 29, 22, 22, 22, 25, 29, 39, 36, 34, 31, 27, 27, 31, 36, 36, 34, 31, 31, 25, 25, 29, 45, 54, 55, 57, 57, 60, 59, 57, 55, 60, 60, 60, 59, 59, 55, 59, 57, 57, 57, 57, 54, 54, 52, 54, 52, 50, 48, 46, 52, 59,
  70.  50, 48, 50, 50, 46, 48, 46, 43, 41, 39, 36, 36, 34, 32, 34, 34, 34, 38, 39, 41, 31, 20, 19, 20, 25, 25, 32, 31, 29, 24, 22, 22, 25, 27, 32, 32, 32, 29, 27, 25, 32, 36, 34, 34, 31, 29, 25, 25, 32, 41, 54, 57, 57, 57, 55, 57, 57, 59, 59, 59, 57, 59, 59, 57, 59, 57, 55, 55, 55, 54, 52, 52, 52, 50, 50, 46, 46, 50, 59,
  71.  50, 50, 50, 50, 48, 45, 45, 43, 41, 39, 36, 36, 34, 36, 34, 34, 36, 36, 38, 41, 29, 22, 20, 20, 25, 29, 31, 34, 34, 29, 24, 24, 25, 25, 29, 31, 31, 31, 31, 31, 32, 36, 36, 34, 32, 29, 25, 31, 32, 45, 55, 60, 59, 60, 57, 55, 54, 55, 55, 55, 55, 57, 57, 54, 57, 59, 55, 57, 55, 55, 55, 52, 52, 48, 48, 46, 46, 48, 60,
  72.  50, 50, 50, 50, 48, 46, 45, 43, 41, 36, 38, 34, 34, 32, 32, 36, 36, 38, 45, 38, 29, 22, 19, 25, 27, 31, 34, 36, 36, 31, 27, 25, 29, 31, 31, 32, 32, 31, 31, 32, 34, 38, 36, 36, 31, 29, 27, 31, 34, 46, 60, 60, 59, 57, 54, 55, 57, 54, 50, 54, 52, 55, 54, 55, 55, 55, 57, 55, 55, 55, 50, 50, 50, 50, 48, 46, 46, 50, 60,
  73.  50, 52, 50, 50, 48, 46, 43, 45, 43, 41, 36, 36, 34, 32, 32, 38, 38, 48, 50, 38, 31, 22, 22, 25, 29, 31, 31, 34, 36, 34, 31, 27, 25, 31, 32, 36, 32, 31, 31, 34, 36, 36, 36, 34, 31, 29, 29, 32, 38, 52, 60, 60, 57, 55, 50, 46, 54, 50, 45, 45, 45, 48, 50, 54, 54, 55, 55, 55, 54, 55, 52, 52, 52, 50, 52, 46, 46, 54, 60,
  74.  46, 50, 48, 46, 45, 46, 46, 41, 38, 38, 36, 34, 36, 32, 39, 46, 48, 55, 50, 41, 38, 27, 24, 25, 32, 32, 34, 36, 36, 34, 31, 29, 31, 31, 32, 34, 34, 34, 31, 34, 36, 39, 39, 36, 34, 31, 31, 34, 48, 54, 60, 60, 57, 55, 50, 43, 43, 46, 46, 46, 43, 41, 43, 45, 46, 43, 46, 52, 54, 52, 50, 50, 48, 48, 48, 46, 48, 50, 60,
  75.  50, 46, 46, 46, 46, 43, 43, 43, 39, 38, 34, 32, 31, 31, 32, 39, 50, 57, 50, 43, 41, 29, 25, 29, 31, 32, 32, 36, 34, 36, 32, 29, 27, 31, 32, 34, 34, 32, 34, 32, 36, 36, 36, 36, 32, 31, 32, 36, 50, 55, 57, 59, 57, 57, 50, 39, 38, 41, 39, 41, 38, 38, 41, 36, 41, 43, 38, 39, 43, 48, 50, 48, 50, 46, 46, 48, 46, 46, 60,
  76.  46, 48, 48, 48, 48, 45, 43, 41, 39, 36, 29, 25, 25, 27, 38, 46, 57, 59, 60, 50, 50, 36, 29, 29, 32, 34, 32, 36, 36, 36, 34, 31, 29, 29, 32, 32, 32, 31, 32, 34, 36, 36, 36, 34, 34, 34, 38, 45, 48, 54, 57, 59, 59, 52, 48, 39, 43, 45, 36, 34, 36, 39, 39, 36, 36, 41, 36, 39, 43, 43, 43, 46, 50, 48, 46, 46, 46, 48, 59,
  77.  50, 46, 46, 45, 43, 41, 38, 36, 29, 24, 24, 24, 24, 31, 45, 55, 57, 60, 60, 57, 54, 46, 34, 32, 32, 38, 36, 36, 38, 39, 36, 34, 32, 32, 34, 32, 34, 34, 34, 38, 39, 39, 39, 36, 36, 38, 39, 43, 43, 50, 52, 55, 55, 55, 45, 41, 38, 43, 39, 34, 38, 39, 39, 34, 36, 34, 34, 43, 46, 45, 41, 43, 45, 46, 46, 46, 48, 46, 60,
  78.  46, 46, 46, 45, 43, 39, 29, 20, 20, 20, 29, 32, 25, 27, 39, 50, 57, 60, 60, 60, 55, 55, 41, 36, 39, 39, 39, 38, 41, 41, 39, 38, 34, 36, 34, 36, 36, 36, 36, 41, 39, 41, 41, 39, 39, 41, 46, 43, 43, 48, 48, 48, 54, 52, 39, 39, 43, 38, 39, 34, 36, 29, 36, 38, 36, 39, 41, 41, 46, 46, 43, 39, 38, 43, 46, 45, 46, 46, 60,
  79.  46, 45, 41, 34, 25, 20, 20, 20, 27, 32, 29, 39, 41, 48, 45, 48, 55, 60, 60, 60, 60, 57, 50, 43, 43, 43, 41, 41, 41, 43, 43, 41, 39, 38, 36, 34, 36, 38, 41, 39, 41, 41, 41, 39, 43, 45, 43, 41, 38, 45, 45, 46, 38, 46, 39, 41, 46, 43, 39, 38, 38, 36, 39, 39, 32, 38, 41, 41, 46, 48, 46, 41, 36, 39, 43, 46, 46, 50, 60,
  80.  41, 31, 27, 17, 15, 17, 22, 36, 45, 48, 48, 48, 48, 57, 57, 55, 60, 60, 62, 62, 60, 59, 57, 48, 46, 46, 46, 43, 43, 46, 45, 43, 43, 41, 38, 39, 39, 41, 43, 45, 43, 45, 46, 46, 48, 45, 46, 43, 41, 43, 48, 50, 38, 41, 39, 46, 48, 38, 36, 39, 36, 36, 39, 41, 36, 39, 41, 45, 46, 50, 46, 43, 41, 39, 45, 45, 46, 50, 60
  81. };
  82. /* Here is the palette data... too bad the picture is grayscale 8-(*/
  83. char palette[64*3]=
  84. {
  85.  0, 0, 0, /* color # 0*/
  86.  0, 0, 0, /* color # 1*/
  87.  1, 1, 1, /* color # 2*/
  88.  2, 2, 2, /* color # 3*/
  89.  3, 3, 3, /* color # 4*/
  90.  4, 4, 4, /* color # 5*/
  91.  5, 5, 5, /* color # 6*/
  92.  6, 6, 6, /* color # 7*/
  93.  7, 7, 7, /* color # 8*/
  94.  8, 8, 8, /* color # 9*/
  95.  9, 9, 9, /* color # 10*/
  96. 10,10,10, /* color # 11*/
  97. 11,11,11, /* color # 12*/
  98. 12,12,12, /* color # 13*/
  99. 13,13,13, /* color # 14*/
  100. 14,14,14, /* color # 15*/
  101. 15,15,15, /* color # 16*/
  102. 16,16,16, /* color # 17*/
  103. 17,17,17, /* color # 18*/
  104. 18,18,18, /* color # 19*/
  105. 19,19,19, /* color # 20*/
  106. 20,20,20, /* color # 21*/
  107. 21,21,21, /* color # 22*/
  108. 22,22,22, /* color # 23*/
  109. 23,23,23, /* color # 24*/
  110. 24,24,24, /* color # 25*/
  111. 25,25,25, /* color # 26*/
  112. 26,26,26, /* color # 27*/
  113. 27,27,27, /* color # 28*/
  114. 28,28,28, /* color # 29*/
  115. 29,29,29, /* color # 30*/
  116. 30,30,30, /* color # 31*/
  117. 31,31,31, /* color # 32*/
  118. 32,32,32, /* color # 33*/
  119. 33,33,33, /* color # 34*/
  120. 34,34,34, /* color # 35*/
  121. 35,35,35, /* color # 36*/
  122. 36,36,36, /* color # 37*/
  123. 37,37,37, /* color # 38*/
  124. 38,38,38, /* color # 39*/
  125. 39,39,39, /* color # 40*/
  126. 40,40,40, /* color # 41*/
  127. 41,41,41, /* color # 42*/
  128. 42,42,42, /* color # 43*/
  129. 43,43,43, /* color # 44*/
  130. 44,44,44, /* color # 45*/
  131. 45,45,45, /* color # 46*/
  132. 46,46,46, /* color # 47*/
  133. 47,47,47, /* color # 48*/
  134. 48,48,48, /* color # 49*/
  135. 49,49,49, /* color # 50*/
  136. 50,50,50, /* color # 51*/
  137. 51,51,51, /* color # 52*/
  138. 53,53,53, /* color # 53*/
  139. 54,54,54, /* color # 54*/
  140. 55,55,55, /* color # 55*/
  141. 56,56,56, /* color # 56*/
  142. 57,57,57, /* color # 57*/
  143. 58,58,58, /* color # 58*/
  144. 59,59,59, /* color # 59*/
  145. 60,60,60, /* color # 60*/
  146. 61,61,61, /* color # 61*/
  147. 62,62,62, /* color # 62*/
  148. 63,63,63, /* color # 63*/
  149. };
  150. void bmscaler(int top_left_x, int top_left_y,
  151. int bottom_right_x, int bottom_right_y,
  152. int source_width, int source_height,
  153. int page_offset, char * bitmap);