⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fontwheeltest.c

📁 Linux/Unix下的绘图函数库(Graphic Drawing Library)
💻 C
字号:
#ifdef HAVE_CONFIG_H#include "config.h"#endif#include <math.h>#include "gd.h"#define DEGTORAD(x) ( (x) * (2.0 * 3.14159265) / 360.0 )voiddoerr (FILE * err, const char *msg){  if (err)    {      fprintf (err, "%s\n", msg);      fflush (err);    }}voiddowheel (gdImagePtr im, int color, char *fontfile, int fontsize,	double angle, int x, int y, int offset, char *string){  int brect[8];  FILE *err;  double curangrads, curang, x0, y0;  char *cp;  err = fopen ("err.out", "a");  doerr (err, "------------- New fontwheel --------------");  doerr (err, fontfile);  doerr (err, string);  doerr (err, "------------------------------------------");  for (curang = 0.0; curang < 360.0; curang += angle)    {      curangrads = DEGTORAD(curang);      x0 = x + cos (curangrads) * offset;      y0 = y - sin (curangrads) * offset;      /* The case of newlines is taken care of in the gdImageStringTTF call */#if defined(OLDER_GD)      cp = gdImageStringTTF (im, brect, color, fontfile, fontsize,			  curangrads, x0, y0, string);#else      cp = gdImageStringFT (im, brect, color, fontfile, fontsize,			 curangrads, x0, y0, string);#endif      if (cp)	doerr (err, cp);      gdImagePolygon (im, (gdPointPtr)brect, 4, color);    }  fclose (err);}#if 0voiddolines (gdImagePtr im, int color, double incr, int x, int y, int offset,	 int length){  double curang;  double angle;  double x0, x1, y0, y1;  for (curang = 0.0; curang < 360.0; curang += incr)    {      angle = curang * (2.0 * 3.14159265) / 360.0;      x0 = cos (angle) * offset + x;      x1 = cos (angle) * (offset + length) + x;      y0 = sin (angle) * offset + y;      y1 = sin (angle) * (offset + length) + y;      gdImageLine (im, x0, y0, x1, y1, color);    }}#endifvoiddotest (char *font, int size, double incr,	int w, int h, char *string, const char *filename){  gdImagePtr im;  FILE *out;  int bg;  int fc;#if 0  int lc;#endif  int xc = w / 2;  int yc = h / 2;  im = gdImageCreate (w, h);  bg = gdImageColorAllocate (im, 0, 0, 0);  gdImageFilledRectangle (im, 1, 1, w - 1, h - 1, bg);  fc = gdImageColorAllocate (im, 255, 192, 192);#if 0  lc = gdImageColorAllocate (im, 192, 255, 255);#endif  out = fopen (filename, "wb");  dowheel (im, fc, font, size, incr, xc, yc, 20, string);#if 0  dolines (im, lc, incr, xc, yc, 20, 120);#endif#if defined(HAVE_LIBPNG)  gdImagePng (im, out);#elif defined(HAVE_LIBJPEG)  gdImageJpeg (im, out, -1);#endif  fclose (out);}intmain (int argc, char **argv){#if defined(HAVE_LIBPNG)  dotest ("times", 16, 20.0, 400, 400, "Hello, there!",	  "fontwheeltest1.png");  dotest ("times", 16, 30.0, 400, 400, "Hello, there!",	  "fontwheeltest2.png");  dotest ("arial", 16, 45.0, 400, 400, "Hello, there!",	  "fontwheeltest3.png");  dotest ("arial", 16, 90.0, 400, 400, "Hello\nthere!",	  "fontwheeltest4.png");#elif defined(HAVE_LIBJPEG)  dotest ("times", 16, 20.0, 400, 400, "Hello, there!",	  "fontwheeltest1.jpeg");  dotest ("times", 16, 30.0, 400, 400, "Hello, there!",	  "fontwheeltest2.jpeg");  dotest ("arial", 16, 45.0, 400, 400, "Hello, there!",	  "fontwheeltest3.jpeg");  dotest ("arial", 16, 90.0, 400, 400, "Hello\nthere!",	  "fontwheeltest4.jpeg");#else  fprintf (stderr, "no PNG or JPEG support\n");#endif  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -