nffffff
Páginas: 15 (3503 palabras)
Publicado: 20 de mayo de 2013
Ingeniería
Ingeniería Mecánica
Gráficos en
Visual C++
1
Para gráficos (incluyendo texto) en Visual C++ Windows
utiliza la interfaz Graphics Device Interfaz (GDI) lo que llama
a los gestores de dispositivo ya sea de video, impresora o
trazadores de gráficos ya establecidos.
Se tiene a la
interfaz GDI
que provee de
la aplicación y
va al
dispositivo19/11/2009
Ing. Daniel Osorio Maldonado
2
Contexto de Dispositivo
Windows no permite el acceso directo al hardware de
visualización, lo hace utilizando un nivel de abstracción
denominado contexto de dispositivo (DC).
Un contexto de dispositivo (DC) es una estructura de datos,
mantenida internamente por el GDI que contiene los
atributos básicos para graficar o poner un texto.
Unejemplo es el OnDraw en
Visual C++.
La ventanita que se aprecia fue
confeccionada en un SDI
(Single document)
19/11/2009
Ing. Daniel Osorio Maldonado
3
Atributos del Contexto de
Dispositivo
Cuando Windows crea un dispositivo asigna
valores por omisión para todos los atributos.
Para que una aplicación pueda obtener o
modificar cualquiera de estos atributos , la
GDIproporciona las funciones que a
continuación se detallan.
19/11/2009
Ing. Daniel Osorio Maldonado
4
ATRIBUTOS
POR OMISION
MODIFICAR
OBTENER
Modo de
conversión
M_MTEXT
SetMapMode
GetMapMode
Origen de
ventana
(0,0)
SetWindowOrg
OffSetWindowOrg
GetWindowOrg
Tamaño lógico de (1,1)
la ventana lógica
SetWindowExt
SetMapMode
GetWindowExp
Origen dela
superficie de la
proyección
(0,0)
SetViewportOrg
OffsetViewportOrg
GetViewportOrg
Tamaño de la
superficie de
proyección
(1,1)
SetViewportExt
SetMapMode
GetViewportExt
Pluma
BLACK_PEN
SelecObject
SelecObject
19/11/2009
Ing. Daniel Osorio Maldonado
5
ATRIBUTOS
POR OMISION
MODIFICAR
Posición actual
de la pluma
(0,0)
MoveTo,LineTo, GetCurrentPositi
ArcTO, PolylineTo on
Pincel
WHITE_BRUSH
SelecObject
SelecObject
Origen del pincel (0,0)
SetBrushOrg
GetBrushOrg
Color de texto
Negro
SetTextColor
GetTextColor
Fuente
SISTEM_FONT
SelecObject
SelecObject
Mapa de bits
Ninguno
SelecObject
SelecObject
Color de fondo
Blanco
SetBkColor
GetBkColor
Modo de fondoOPAQUE
SetBkMode
GetBkMode
19/11/2009
Ing. Daniel Osorio Maldonado
OBTENER
6
ATRIBUTOS
POR OMISION
MODIFICAR
OBTENER
Modo de dibujo
R2_copypen
SetROP2
GetROP2
Modo de ajuste
BLACKONWHITE SetStrechBltMode
GetStrechBltMode
Modo de relleno
ALTERNATE
GetPolyFillMode
SetPolyFillMode
Con estas funciones básicas se puede graficar enpantalla de dispositivo así como en Visual C++
19/11/2009
Ing. Daniel Osorio Maldonado
7
Objetos GDI
La GDI de Windows emplea herramientas de dibujo, incluyendo plumas , pinceles
tipos de letra, mapas bits, paleta de color y regiones, que se contempla en MFC.
//DIBUJA Y RELLENA UNA ELIPSE DE COLOR AMARILLO
CElipseView::OnPaint()
{
static DWORDdwColor[9]={RGB(0,0,0),RGB(255,0,0), RGB(0,255,0),RGB(0,0,255),
RGB(255,255,0),RGB(255,0,255), RGB(0,255,255),RGB(128,128,128),
RGB(255,255,255)};
POINT polylpts[4], polygpts[5];
int xcoord;
CBrush n_brocha;
CBrush *v_brocha;
CPen n_pincel;
CPen *v_pincel;
n_pincel.CreatePen(PS_SOLID, 2,dwColor[3]);
//n_pincel.CreatePen(PS_SOLID, ancho de la línea de borde, dwColor [color de la
línea de borde]);v_pincel=dc.SelectObject(&n_pincel);
n_brocha.CreateSolidBrush(dwColor[4]);
//n_brocha.CreateSolidBrush(dwColor[color del relleno])
19/11/2009
Ing. Daniel Osorio Maldonado
8
v_brocha=dc.SelectObject(&n_brocha);
dc.Ellipse(475,400,100,150);//los dos primeros dan las dimensiones de la elipse
//superior ,los otros 2 dan la ubicación de los puntos uno de la parte derecha
//el otro de la parte izquierda...
Leer documento completo
Regístrate para leer el documento completo.