Manual de Allegro: 12 Primitivas de dibujo
Excepto _putpixel(), todas estas rutinas son afectadas por el modo actual de
dibujo y el 疵ea de recorte del bitmap destino.
void putpixel(BITMAP *bmp, int x, int y, int color);
Escribe un pixel en la posici? especificada del bitmap, usando el modo
de dibujo actual y el 疵ea de recorte del bitmap.
Relacionado con:
getpixel,
_putpixel,
drawing_mode.
void _putpixel(BITMAP *bmp, int x, int y, int color);
void _putpixel15(BITMAP *bmp, int x, int y, int color);
void _putpixel16(BITMAP *bmp, int x, int y, int color);
void _putpixel24(BITMAP *bmp, int x, int y, int color);
void _putpixel32(BITMAP *bmp, int x, int y, int color);
Como el putpixel() normal, pero mucho m疽 r疳idas porque est疣
implementadas como funciones de ensamblador en l?ea para profundidades
de color espec?icas. No funcionar疣 en modos gr畴icos de tipo Modo-X, no
soportan 疵eas de recorte (。se bloquear疣 si intenta dibujar fuera del
bitmap!), e ignoran el modo de dibujo.
Relacionado con:
putpixel.
putpixel,
_getpixel.
int _getpixel(BITMAP *bmp, int x, int y);
int _getpixel15(BITMAP *bmp, int x, int y);
int _getpixel16(BITMAP *bmp, int x, int y);
int _getpixel24(BITMAP *bmp, int x, int y);
int _getpixel32(BITMAP *bmp, int x, int y);
Relacionado con:
getpixel.
void vline(BITMAP *bmp, int x, int y1, int y2, int color);
Dibuja una l?ea vertical en el bitmap, desde (x, y1) hasta (x, y2).
Relacionado con:
hline,
line,
drawing_mode.
void hline(BITMAP *bmp, int x1, int y, int x2, int color);
Dibuja una l?ea horizontal en el bitmap, desde (x1, y) hasta (x2, y).
Relacionado con:
vline,
line,
drawing_mode.
void do_line(BITMAP *bmp, int x1, y1, x2, y2, int d,
void (*proc)(BITMAP *bmp, int x, int y, int d));
Calcula todos los puntos de una l?ea desde el punto (x1, y1) hasta (x2,
y2), llamando la funci? proc para cada pixel. A 駸ta funci? se le pasa
una copia del par疥etro bmp, la posici? x e y, y el par疥etro d, por lo
que puede llamar la funci? putpixel().
Relacionado con:
do_circle,
do_ellipse,
do_arc,
line.
void line(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);
Dibuja una l?ea en el bitmap, desde (x1, y1) hasta (x2, y2).
Relacionado con:
hline,
vline,
do_line,
drawing_mode.
void triangle(BITMAP *bmp, int x1, y1, x2, y2, x3, y3, int color);
Dibuja un tri疣gulo relleno entre los tres puntos.
Relacionado con:
polygon,
triangle3d,
drawing_mode.
void polygon(BITMAP *bmp, int vertices, int *points, int color);
Dibuja un pol?ono relleno con un n?ero arbitrario de v駻tices. Pase el
n?ero de v駻tices y un array que contenga series de puntos x e y (hasta
un total del valor vertices*2).
Relacionado con:
triangle,
polygon3d,
drawing_mode.
void rect(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);
Dibuja los bordes de un rect疣gulo con los dos puntos dados como esquinas
opuestas.
Relacionado con:
rectfill,
drawing_mode.
void rectfill(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);
Dibuja un rect疣gulo s?ido con los dos puntos dados como esquinas
opuestas.
Relacionado con:
rect,
clear_bitmap,
drawing_mode.
void do_circle(BITMAP *bmp, int x, int y, int radius, int d,
void (*proc)(BITMAP *bmp, int x, int y, int d));
Calcula todos los puntos de un c?culo alrededor de (x, y) con el radio
r, llamando a la funci? proc para cada pixel. A 駸ta funci? se le pasa
una copia del par疥etro bmp, la posici? x e y, y el par疥etro d, por lo
que puede llamar la funci? putpixel().
Relacionado con:
do_ellipse,
do_arc,
do_line,
circle,
circlefill.
void circle(BITMAP *bmp, int x, int y, int radius, int color);
Dibuja un c?culo con el centro y radio especificados.
Relacionado con:
ellipse,
arc,
circlefill,
do_circle,
drawing_mode.
void circlefill(BITMAP *bmp, int x, int y, int radius, int color);
Dibuja un c?culo relleno con el centro y radio especificados.
Relacionado con:
ellipsefill,
circle,
do_circle,
drawing_mode.
void do_ellipse(BITMAP *bmp, int x, int y, int rx, ry, int d,
void (*proc)(BITMAP *bmp, int x, int y, int d));
Calcula todos los puntos de una elipse alrededor de (x, y) con el radio
rx y ry, llamando a la funci? proc por cada pixel. A 駸ta funci? se le
pasa una copia del par疥etro bmp, la posici? x e y, y el par疥etro d,
por lo que puede llamar la funci? putpixel().
Relacionado con:
do_circle,
do_arc,
do_line,
ellipse,
ellipsefill.
void ellipse(BITMAP *bmp, int x, int y, int rx, int ry, int color);
Dibuja una elipse con el centro y radio especificados.
Relacionado con:
circle,
arc,
ellipsefill,
do_ellipse,
drawing_mode.
void ellipsefill(BITMAP *bmp, int cx, int cy, int rx, int ry, int color);
Dibuja una elipse rellena con el centro y radio especificados.
Relacionado con:
circlefill,
ellipse,
do_ellipse,
drawing_mode.
void do_arc(BITMAP *bmp, int x, int y, fixed a1, fixed a2, int r, int d,
void (*proc)(BITMAP *bmp, int x, int y, int d));
Calcula todos los puntos en un arco circular alrededor del punto (x, y)
Relacionado con:
do_circle,
do_ellipse,
do_line,
arc.
void arc(BITMAP *bmp, int x, y, fixed ang1, ang2, int r, int color);
Dibuja un arco circular con centro radio r y centro x, y, en direcci?
antihoraria empezando desde el 疣gulo a1 y terminando en a2. Estos
Relacionado con:
circle,
ellipse,
drawing_mode.
void calc_spline(int points[8], int npts, int *x, int *y);
Calcula una serie de puntos npts a lo largo de una curva bezier,
almacen疣dolos en los arrays x e y. La curva bezier es especificada por
los cuatro puntos de control x/y del array points: points[0] y points[1]
contienen las coordenadas del primer punto de control, points[2] y
la forma de la curva entre los puntos 0 y 3 (las l?eas p0-p1 y p2-p3 son
tangentes de la curva bezier). La forma m疽 f當il de imagin疵selo es
pensar que la curva empieza en p0 en la direcci? de p1, pero gira de tal
forma que llega a p3 desde la direcci? de p2. Adem疽 de su rol de
primitivas gr畴icas, las curvas bezier pueden ser ?iles para construir
caminos alrededor de una serie de puntos de control, como en exspline.c.
Relacionado con:
spline.
void spline(BITMAP *bmp, int points[8], int color);
Dibuja una curva bezier usando los cuatro puntos de control especificados
en el array points.
Relacionado con:
calc_spline,
drawing_mode.
void floodfill(BITMAP *bmp, int x, int y, int color);
Rellena un 疵ea cerrada, comenzando en el punto (x, y), con el color
especificado.
Relacionado con:
drawing_mode.
Volver al Indice