NAME

image_draw_segment - Draws a line segment on an image

SYNOPSIS

#include "i/i_draw.h"

Example compile flags (system dependent):
  -DLINUX_X86_64 -DLINUX_X86_64_OPTERON  -DGNU_COMPILER 
   -I/home/kobus/include
   -L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
  -lKJB                               -lfftw3  -lgsl -lgslcblas -ljpeg  -lSVM -lstdc++                    -lpthread -lSLATEC -lg2c    -lacml -lacml_mv -lblas -lg2c      -lncursesw 


int image_draw_segment
(
	KJB_image *ip,
	Vector *p1_vp,
	Vector *p2_vp,
	int width,
	int r,
	int g,
	int b
);

DESCRIPTION

This routine sets the pixels of "ip" in the segment joining p1_vp and p2_vp to (r,g,b). If the coordinates are not integers, then we simply truncate to get integral endpoints. If width is greater than 1, then instead of filling in pixels, we fill in squares of size 1+2*width. We don't use a particular intelligent algorithm for smoothing (anti-aliasing), as this routine is mostly used for debugging.

NOTE

If displayed, image (i,j) generally results in the first coordinate indexing row number downwards, and the second coordinate indexing column. Thus the X and Y axes swap, and the vertical axis goes in the opposite direction than in the XY coordinate system.

DISCLAIMER

This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.

AUTHOR

Kobus Barnard

DOCUMENTER

Kobus Barnard

SEE ALSO

image_draw_contour , image_draw_segment_2 , image_draw_gradient , image_draw_gradient_2 , image_draw_points , image_draw_pixels , image_draw_point , image_draw_point_2 , image_draw_add_to_point , image_draw_add_to_point_2 , image_draw_image , image_draw_rectangle , image_draw_rectangle_2 , image_draw_circle , image_draw_circle_2 , image_draw_disk , image_draw_disk_2