IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Печать рисунка (http://www.imho.ws/showthread.php?t=110663)

yan_kos 03.11.2006 15:38

Печать рисунка
 
Столкнулся с такой проблемой.
Есть проект на MFC
Логотип - .bmp в ресурсах.
Нужно роспечать некую форму и вставить туда логотип компании.
Есть куча способов но все они страшные... а печать до этого особо не колупал.
Может кто подскажет что нить конкретно.

_Lynx_ 03.11.2006 19:01

Да там особых проблем нет. Считываешь картинку и помещаешь в нужное место страницы. Если не забуду, дома посмотрю примеры.

yan_kos 04.11.2006 00:34

_Lynx_
Второй вопрос как считать картинку?
За примеры буду очень благодарен..

PSyton 05.11.2006 06:34

MFC? - MSDN - CBitmap
Там есть все.

_Lynx_ 10.11.2006 11:29

Вообще-то всё просто: выводишь как и на экран.

void CMapView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
//Некоторые предварительные вычисления
POINT curPos;
double mask;
CPoemDoc* curDoc = GetDocument();
double koef = curDoc->m_koef;
CRect curRect;
GetClientRect(curRect);
//Выводится только часть изображения
curPos.x = curDoc->m_curPos.x - curRect.Width() * koef/2;
curPos.y = curDoc->m_curPos.y - curRect.Height() * koef/2;
CSize sizeDib = m_dibFile.GetDimensions();
CSize totalSize; // = m_dibFile.GetDimensions();
mask = 4500/curRect.Width();
totalSize.cx = curRect.Width() * mask;
totalSize.cy = curRect.Height() * mask;
SetScrollSizes(MM_TEXT,totalSize,CSize(400, 400), CSize(50, 50));

this->ScrollToPosition(CPoint(0,0));

StretchDIBits(pDC->GetSafeHdc(),0,0,totalSize.cx,totalSize.cy,curPos.x,sizeDib.cy-curPos.y-curRect.Height()*koef,koef*curRect.Width(),koef*curRect.Height(),m_dib File.m_lpImage,(LPBITMAPINFO) m_dibFile.m_lpBMIH,DIB_RGB_COLORS,SRCCOPY);

/*здесь у меня ещё другие слои накладываются и текст*/

curDoc->chPos = true;
}


Часовой пояс GMT +4, время: 12:35.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.