C语言使用gd库函数详细记录

1.绘图函数

(1)绘制一个像素点的函数

  void gdImageSetPixel(gdImagePtr im, int x, int y, int color)

  参数列表

  第一参数:gdImagePtr类型,为对象

  第二参数:画图的横坐标

  第三参数:画图纵坐标

  第四参数:要绘制的颜色

(2)在两个端点之间画一条直线

   void gdImageLine(gdImagePtr im, int x1, int y1, int x2, int y2, int color)

  参数列表依次是:对象,两个端点的坐标,颜色

(3)用于绘制一个多边形的函数,至少三个

void gdImagePolygon(gdImagePtr im, gdPointPtr points, int pointsTotal, int color)

具体事例

#include<stdio.h>
#include <gdfontl.h>
#include <gd.h>
#include <string.h>

int main(int argc,char **argv)
{
gdImagePtr im;
FILE*pngout;
int black;
int white;
/* Points of polygon */
gdPoint points[3];
im = gdImageCreate(100, 100);
/* Background color (first allocated) */
black = gdImageColorAllocate(im, 0, 0, 0);
/* Allocate the color white (red, green and
blue all maximum). */
white = gdImageColorAllocate(im, 255, 255, 255);
/* Draw a triangle. */
points[0].x = 50;
points[0].y = 0;
points[1].x = 99;
points[1].y = 99;
points[2].x = 0;
points[2].y = 99;
gdImagePolygon(im, points, 3, white);
/* ... Do something with the image, such as
saving it to a file... */
/* Destroy it */
pngout = fopen("test1.png","wb");
gdImagePng(im, pngout);
fclose(pngout);
gdImageDestroy(im);

return 0;

}

 

(4)

  

时间: 2024-10-05 04:52:09

C语言使用gd库函数详细记录的相关文章

C/C++语言的标准库函数malloc/free与运算符new/delete的区别

概括地说 1.malloc与free是C++/C的标准库函数,new/delete是C++的运算符,它们都可用于申请动态内存和释放内存. 2.对于非内部数据类型的对象而言,只用malloc/free无法满足动态对象的要求.对象在创建的同时,要自动执行构造函数,对象在消亡之前要自动执行析构函数.而由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free. 3.因此C++语言需要一个能完成动态内存分配和初始化工作的运算符

Maven 搭建SpringMvc+Spring+Mybatis详细记录

总觉得,看比人写的总是那么好,每次搭建框架时都会找博客,找教程来跟着一步一步走,虽然很快搭建成功了,但是经常情况是我并不知道我干了什么,也不记得具体步骤,到底为什么要这么做,今天我详细记录了一下自己搭建的过程,并且尽量理解每一步干什么. SSM框架当下比较流行,我也是用这个框架来作为记录,尝试详细地记录下每一个步骤,学习,不要怕开头难. 一.创建一个新的Maven项目 1. new -> Maven -> Maven Project 选择webapp工程. 2.maven项目建好以后,工程目录

在Linux(CentOS)上安装MySql详细记录

前记:  毕业两年了,前两天换了份工作,由以前的传统行业跳到了互联网行业.之前的公司一直在用WinServer2003+Tomcat+SqlServer/Oracle这套部署环境.对于Linux+Tomcat(或其他容器)+Mysql这套之前没用用过.所以利用这周末的我在阿里云上49元搞了个linux(centos 64位)的服务器. 刚开始先装了JDK1.6,安装了Tomcat6.0.这过程中没有遇到太大的问题, 小问题也google一下就解决了.而周六晚上开始安装Mysql,于是到今天下午为

C语言字符串处理库函数

http://blog.csdn.net/pipisorry/article/details/36898405 使用C语言字符串处理的库函数,务必包含头文件string.h,即#include <string.h> 1. 比较字符串大小函数   1) 忽略大小写---strcasecmp 函数原型: int strcasecmp (const char *s1, const char *s2); 函数说明: 用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异 2)忽略大小写-stric

mongodb 3.2.5安装过程详细记录

2016-10-19    mongodb 3.2.5安装 1 准备安装介质 安装介质下载: mongodb的安装方式,我通常使用二进制包的方式,内网不能配置连接外网的yum源: 官方建议的mongodb下载地址为:   Downloads.mongodb.org 但实际上,这个地址,很难找到下载表,正常下载,通常可以用下面的下载地址选择下载: 我这里下载的是: 3.2.5 版本对应的 mongodb-linux-x86_64-rhel62-3.2.5-20-g07e21d8.tgz 如果将整个

学习HTML5之塔克大战(详细记录)

学了一些HTML5的一些基本知识,开始学习制作...... 介绍一些基本知识:  px(像素)--->1px等于多少? 1cm or 2cm -->no  no no! (1).像素是一个密度单位:无法用度量.... (2)  stoke--->画线    fill--->填充 (3)再画图形时,一定记得路径闭合... (4)在绘制图片时:需要注意的是:先加载图片,在进行绘制 绘制照片的一些基本步骤: (1) 创建image对象   new Image(); (2)指定图片(或者路

分享一个R语言的脚本【时间记录】

分享一个R语言的脚本 最近捣弄下一个R语言的脚本,不知道大家有没有看过<奇特的一生>这本书,我高中看了后,高三就山寨了柳比歇夫大神的方法,记录时间开销.个人感觉是挺有用的. 脚本就是把下面的这种excel文件导入并自动转化成饼形图,输出图片到本地. 代码在此: record <- read.table("Book1.csv", header=TRUE,sep=",", fill=TRUE); library(ggplot2); new_sum<

C语言的比较库函数--qsort

c语言中的库函数:qsort(int *base,int num,int width,int (*compare)(int *void,int *void)): 其中base是排序的一个集合数组,num是这个数组元素的个数,width是一个元素的大小,comp是一个比较函数. 比如:对一个长为1000的数组进行排序时,int a[1000]; 那么base应为a,num应为 1000,width应为 sizeof(int),comp函数随自己的命名. qsort(a,1000,sizeof(in

java的异常(Exception)信息的详细记录

java的异常(Exception)信息的详细记录获取Exception的详细信息下面的三个方法都是获取异常的详细信息,或许的异常详细信息以字符串的形式返回,保持栈堆的风格 方法一: public static String getExceptionAllinformation(Exception ex){         String sOut = "";         StackTraceElement[] trace = ex.getStackTrace();