2010-02-25 3 views
1

это код, который я использую для создания изображения.C++ отправка изображения на принтер, (PRINT)

Bitmap bitmap; 
bitmap.CreateBitmap(715, 844,1,1, NULL); 

CDC memDC; 
memDC.CreateCompatibleDC(NULL); 
memDC.SelectObject(&bitmap); 

CString SS="Sun Goes Down"; 
memDC.TextOutA(1,2,SS); 

     CImage image; 
     image.Attach(bitmap); 
     image.Save(_T("C:\\test.bmp"), Gdiplus::ImageFormatJPEG); 

и все нормально, теперь все, что я хочу, чтобы отправить это изображение на печать ...

я использую

DWORD pcchBuffer=100; 

    char * pszBuffer=new char[100]; 

GetDefaultPrinter(pszBuffer,&pcchBuffer); 

снова все в порядке.

, чтобы получить defaulet printername, для печати я знаю функцию WritePrinter, но это fonction дает буфер argvens LPVOID для печати, как я могу отправить свое изображение для печати? Многое спасибо!

+0

Это похоже на код Windows, но поскольку ответ будет специфичным для ОС, вы, вероятно, должны указать, на какую ОС вы нацеливаете. –

ответ

3

Вместо того, чтобы изображение, сохранив его, то печать, вы должны:

Посмотрите на все подробные инструкции по MSDN.

+0

ОК, спасибо! это правильно, но проблема в том, что я хочу и изображение и печать, возможно создать новый CDC для печати, как описано, и сделать все ЧЕРТЕЖИ как для изображения? (DRAWING - большой код, и я не хочу это делать, а для печати и для изображения). пожалуйста, если вы можете, помогите мне! –

+0

Вы можете сначала выполнить весь сложный рисунок изображения в DC растрового изображения (как в своем вопросе), затем сохранить его, открыть DC для принтера и нарисовать растровое изображение в DC принтера. Таким образом, вам нужно будет сделать сложный рисунок один раз. – Patrick

Смежные вопросы