Tengo un graficador de lineas puntos elipses etc q esta funcionando bien ahora necesito hacer solo una cosa mas y no estoy encontrando la forma...
Tengo un metodo q guarda pixeles encendidos de la pantalla a una matriz utiliza internamente getpixel y debo almacenar esa matriz de datos (pixeles encendidos) justo antes de hacer save o saveas. Asi serializa la matriz con la ultima informacion obtenida de la pantalla.
Actualmente estoy serializando lo cual es muy conveniente para el graficador pero si quiero guardar la matriz en el serialize no me lo acepta por que el metodo utiliza pdc levantar los datos de la pantalla y en serialize no se conoce o no se como hacer para q pdc pueda ser conocido...
Bueno desde ya muchas gracias
Marce.-
- Código: Seleccionar todo
void CGraficadorDoc::LevantaPixel(CDC *pDC)
{
COLORREF ColorPunto;
for (int H=0;H<=799;H++) {
for(int K=0;K<=599;K++){
ColorPunto = pDC->GetPixel(H,K);
if (ColorPunto==0){ //Si el pixel está prendido osea color negro
m_Matriz[H][K].encendido = 1;
}
}
}
}
void CGraficadorDoc::Serialize(CArchive& ar)
{
double coordx ;
double coordy ;
int encendido;
CObject::Serialize(ar) ;
if (ar.IsStoring())
{
[color=red]// LevantaPixel(pDC) <---ESTE NO ME ANDA AQUI [/color]
[color=red] //LEVANTA PIXEL HARIA LA ULTIMA ACTUALIZACION A LA MATRIZ PARA LUEGO BAJARLA AL ARCHIVO[/color]
for (int i = 0 ; i <= 799 ; i++)
{
for (int j = 0 ; j <= 599 ; j++)
{
ar << m_Matriz[i][j].coordx;
ar << m_Matriz[i][j].coordy;
ar << m_Matriz[i][j].encendido; }
}
}
else
{
for (int i = 0 ; i <= 799 ; i++)
{
for (int j = 0 ; j <= 599 ; j++)
{
ar >> coordx;
m_Matriz[i][j].coordx = coordx;
ar >> coordy;
m_Matriz[i][j].coordy = coordy;
ar >> encendido;
m_Matriz[i][j].encendido=encendido;
}
}
}
}







