source: libpipi/trunk/examples/line.c @ 2788

Last change on this file since 2788 was 2788, checked in by Jean-Yves Lamoureux, 14 years ago
  • Added a bezier curve primitive (2 control points).
  • Fixed a float overflow in antialiased lines (this algorithm is a mess, and I need to rewrite it)
  • Wrote a bunch of craderies degueulasses to avoid having y1 already defined in math.h
  • Did I say this antialiased line implementation sucks ?
File size: 1.0 KB
Line 
1#include "config.h"
2#include "common.h"
3
4#include <stdio.h>
5#include <stdlib.h>
6#include <string.h>
7
8#include <pipi.h>
9
10int main(int argc, char *argv[])
11{
12    char *srcname = NULL, *dstname = NULL;
13    pipi_image_t *img, *newimg;
14    int count = 10000;
15    int ret = 0;
16    if(argc < 2)
17    {
18        fprintf(stderr, "%s: too few arguments\n", argv[0]);
19        fprintf(stderr, "Usage: %s <src> <dest>\n", argv[0]);
20        return EXIT_FAILURE;
21    }
22
23    srcname = argv[1];
24    dstname = argv[2];
25
26    img = pipi_load(srcname);
27
28    if(!img) {
29        fprintf(stderr, "Can't open %s for reading\n", srcname);
30    }
31
32    newimg = pipi_copy(img);
33    pipi_free(img);
34
35    int w = pipi_get_image_width(newimg);
36    int h = pipi_get_image_height(newimg);
37
38    while(count--) {
39        pipi_draw_line(newimg,
40                       rand()  , rand() % h,
41                       rand() % w, rand() % h,
42                       rand(),
43                       1);
44    }
45
46    pipi_save(newimg, dstname);
47
48    pipi_free(newimg);
49
50    return ret;
51}
52
Note: See TracBrowser for help on using the repository browser.