Graficos En Visual C++

Páginas: 18 (4264 palabras) Publicado: 27 de octubre de 2012
Universidad Nacional de Ingeniería g
Ingeniería Mecánica g M

Gráficos en Visual C++
1

Para gráficos (incluyendo texto) en Visual C++ Windows utiliza la interfaz Graphics Device Interfaz l i t f G hi D i I t f (GDI) lo que llama a l l ll los gestores de dispositivo ya sea de video, impresora o trazadores de gráficos y establecidos. g ya

Se tiene a la interfaz GDI que provee de laaplicación y va al dispositivo

28/06/2011

Ing. Daniel Osorio Maldonado

2

Contexto de Dispositivo p
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 g pgraficar o p poner un texto.

Un ejemplo es el OnDraw en Visual C++. La ventanita que se aprecia fue confeccionada en un SDI ( g (Single document) )

28/06/2011

Ing. Daniel Osorio Maldonado

3

Atributos del Contexto de Dispositivo p

Cuando Windows crea un dispositivo asigna valores por omisión para todos los atributos. Para que una aplicación pueda obtener o modificar cualquierade estos atributos , la GDI proporciona las funciones que a continuación se detallan.
28/06/2011 Ing. Daniel Osorio Maldonado 4

ATRIBUTOS Modo de conversión Origen de Oi d ventana Tamaño lógico de la ventana lógica

POR OMISION MODIFICAR M_MTEXT (0,0) (0 0) (1,1) (1 1) SetMapMode SetWindowOrg S tWi d O OffSetWindowOrg SetWindowExt SetMapMode

OBTENER GetMapMode GetWindowOrg G tWi d OGetWindowExp

Origen de la (0,0) superficie de la p y proyección Tamaño de la superficie de proyección Pluma (1,1)

SetViewportOrg GetViewportOrg OffsetViewportOrg SetViewportExt SetMapMode SelecObject GetViewportExt

BLACK_PEN

SelecObject

28/06/2011

Ing. Daniel Osorio Maldonado

5

ATRIBUTOS Posición actual de la pluma Pincel Pi l

POR OMISION (0,0)

MODIFICAR

OBTENERMoveTo, LineTo, GetCurrentPosit ArcTO, PolylineTo ion SelecObject S l Obj t GetBrushOrg GetTextColor SelecObject SelecObject Get Co o GetBkColor GetBkMode
6

WHITE_BRUSH SelecObject WHITE BRUSH S l Obj t SetBrushOrg SetTextColor SelecObject SelecObject Set Co o SetBkColor SetBkMode

Origen del pincel (0 0) (0,0) Color de texto Fuente Mapa de bits Co o Color de fondo o do Modo de fondo28/06/2011

Negro SISTEM_FONT Ninguno Blanco a co OPAQUE

Ing. Daniel Osorio Maldonado

ATRIBUTOS
Modo de dibujo Modo de ajuste Modo de relleno

POR OMISION MODIFICAR R2_copypen
SetROP2 BLACKONWHITE SetStrechBltMode ALTERNATE SetPolyFillMode

OBTENER
GetROP2 GetStrechBltMode GetPolyFillMode

Con estas funciones básicas se puede graficar en pantalla de dispositivo así como enVisual C++

28/06/2011

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 DWORD dwColor[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; n brocha; CBrush *v_brocha; CPen n_pincel; CPen *v pincel; 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); i l dS l tObj t(& i l) n_brocha.CreateSolidBrush(dwColor[4]); //n_brocha.CreateSolidBrush(dwColor[color del relleno])

28/06/2011

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.

Estos documentos también te pueden resultar útiles

  • Visual C++
  • Visual C++
  • Graficos en c++
  • Graficos en c
  • Graficos En C++
  • Graficos en c
  • Graficas En C++
  • Diseño Gráfico y Comunicación Visual

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS