Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Картинку на принтер [D5]


hunter ©   (2001-12-17 13:17:00) 

Как осуществить сабж, но так чтобы правильно ее поместить на А4 в независимости от размера картинки.
Картинка есть-лист формати А4, но в каком разрешении не известно.


Sergey_n   (2001-12-18 00:06:00) [1]

В Borland C++ Builder вроде так
if ( PrintDialog1->Execute() ){
unsigned int BitmapInfoSize, BitmapImageSize;
long DIBWidth, DIBHeight;
PChar BitmapImage;
Windows::PBitmapInfo BitmapInfo;
Graphics::TBitmap *Bitmap;

Printer()->BeginDoc();
Bitmap = new Graphics::TBitmap();
Bitmap->Assign(Image3->Picture->Bitmap);
GetDIBSizes(Bitmap->Handle, BitmapInfoSize, BitmapImageSize);
BitmapInfo = (PBitmapInfo) new char[BitmapInfoSize];
BitmapImage = (PChar) new char [BitmapImageSize];
GetDIB(Bitmap->Handle, 0, BitmapInfo, BitmapImage);
DIBWidth = BitmapInfo->bmiHeader.biWidth;
DIBHeight = BitmapInfo->bmiHeader.biHeight;
StretchDIBits(Printer()->Canvas->Handle,
0, 0, DIBWidth, DIBHeight,
0, 0, DIBWidth, DIBHeight,
BitmapImage, BitmapInfo,
DIB_RGB_COLORS, SRCCOPY);
delete [] BitmapImage;
delete [] BitmapInfo;
delete Bitmap;

Printer()->EndDoc();
}

переделать на Delph думаю труда не составит.


Наверх

Титульная страница Поиск, карта сайта Написать письмо