Imprimir bmp

26/10/2003 - 12:41 por Javier | Informe spam
Hola a todos compañeros, tengo que imprimir una serie de
bmps y texto esto lo muestrop con la preimpresión y me
sale bien pero al impriomir el dibujo no me sale, hago
esto

HBITMAP hBitmap;
hBitmap = (HBITMAP) LoadImage(NULL, "Logo.Bmp",
IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
if(hBitmap!=NULL)
{
CBitmap *bmp = CBitmap::FromHandle(hBitmap);

CBitmap *poldbmp;
CDC memdc;

memdc.CreateCompatibleDC( pDC );

poldbmp = memdc.SelectObject(bmp);


pDC->BitBlt( 100,100,147,147,&memdc,0,0,SRCCOPY);

memdc.SelectObject( poldbmp );
}

La impresora hace como si lo imprime pero, no lo imprime
es como si lo imprimiera en blanco y no se muestra.

¿Alguien sabe como imprimirlo en la impresora?

Salu2 Javier

Preguntas similare

Leer las respuestas

#1 Hernán
27/10/2003 - 00:31 | Informe spam
"Javier" escribía,

Hola a todos compañeros, tengo que imprimir una serie de
bmps y texto esto lo muestrop con la preimpresión y me
sale bien pero al impriomir el dibujo no me sale, hago
esto

HBITMAP hBitmap;
hBitmap = (HBITMAP) LoadImage(NULL, "Logo.Bmp",
IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
if(hBitmap!=NULL)
{
CBitmap *bmp = CBitmap::FromHandle(hBitmap);

CBitmap *poldbmp;
CDC memdc;

memdc.CreateCompatibleDC( pDC );

poldbmp = memdc.SelectObject(bmp);


pDC->BitBlt( 100,100,147,147,&memdc,0,0,SRCCOPY);

memdc.SelectObject( poldbmp );
}

La impresora hace como si lo imprime pero, no lo imprime
es como si lo imprimiera en blanco y no se muestra.

¿Alguien sabe como imprimirlo en la impresora?




Asumo que pDC es la forma enclasada de un printer device context. Ok,
yo jamás pude crear un memory dc desde un printer dc, siempre necesité
un display dc.

Ok, es mi experiencia personal. Yo no recuerdo una explicación
documentada. Digo, puedo estar en un error...

Salu2 Javier




Hernán (27)
@quilmes.ar
Respuesta Responder a este mensaje
#2 Javier
27/10/2003 - 11:28 | Informe spam
Cracias ante todo.

Bien, yo lo hago para mostrarlo en pantalla y luego
mostrarlo en la impresora y nada en la pantalla sale pero
en la impresora no



"Javier" escribía,

Hola a todos compañeros, tengo que imprimir una serie




de
bmps y texto esto lo muestrop con la preimpresión y me
sale bien pero al impriomir el dibujo no me sale, hago
esto

HBITMAP hBitmap;
hBitmap = (HBITMAP) LoadImage(NULL, "Logo.Bmp",
IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
if(hBitmap!=NULL)
{
CBitmap *bmp = CBitmap::FromHandle(hBitmap);

CBitmap *poldbmp;
CDC memdc;

memdc.CreateCompatibleDC( pDC );

poldbmp = memdc.SelectObject(bmp);


pDC->BitBlt( 100,100,147,147,&memdc,0,0,SRCCOPY);

memdc.SelectObject( poldbmp );
}

La impresora hace como si lo imprime pero, no lo




imprime
es como si lo imprimiera en blanco y no se muestra.

¿Alguien sabe como imprimirlo en la impresora?




Asumo que pDC es la forma enclasada de un printer device


context. Ok,
yo jamás pude crear un memory dc desde un printer dc,


siempre necesité
un display dc.

Ok, es mi experiencia personal. Yo no recuerdo una


explicación
documentada. Digo, puedo estar en un error...

Salu2 Javier




Hernán (27)
@quilmes.ar
.

Respuesta Responder a este mensaje
#3 KAKATUO
27/10/2003 - 20:36 | Informe spam
Creando un DC compatible con la pantalla para cargar en él el bitmap si que
funciona.

void CPrintbmpView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
HBITMAP hBitmap;
hBitmap = (HBITMAP) LoadImage(NULL, "Logo.Bmp", IMAGE_BITMAP, 0, 0,
LR_LOADFROMFILE);
if(hBitmap!=NULL)
{
CBitmap* pBitmap = CBitmap::FromHandle(hBitmap);
CDC memoryDC;
memoryDC.CreateCompatibleDC(NULL); //Yo creo un DC compatible con la
pantalla
CBitmap* pOldBitmap = (CBitmap*) memoryDC.SelectObject(pBitmap);
BITMAP bmp;
pBitmap->GetBitmap(&bmp);
pDC->BitBlt(0,0, bmp.bmWidth, bmp.bmHeight, &memoryDC, 0, 0, SRCCOPY);
memoryDC.SelectObject(pOldBitmap);
}

CView::OnPrint(pDC, pInfo);
}

"Javier" escribió en el mensaje
news:021d01c39bb6$0c1fa720$
Hola a todos compañeros, tengo que imprimir una serie de
bmps y texto esto lo muestrop con la preimpresión y me
sale bien pero al impriomir el dibujo no me sale, hago
esto

HBITMAP hBitmap;
hBitmap = (HBITMAP) LoadImage(NULL, "Logo.Bmp",
IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
if(hBitmap!=NULL)
{
CBitmap *bmp = CBitmap::FromHandle(hBitmap);

CBitmap *poldbmp;
CDC memdc;

memdc.CreateCompatibleDC( pDC );

poldbmp = memdc.SelectObject(bmp);


pDC->BitBlt( 100,100,147,147,&memdc,0,0,SRCCOPY);

memdc.SelectObject( poldbmp );
}

La impresora hace como si lo imprime pero, no lo imprime
es como si lo imprimiera en blanco y no se muestra.

¿Alguien sabe como imprimirlo en la impresora?

Salu2 Javier
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida