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

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

Печать bmp переменной [D7, XP]


Lera ©   (2007-05-22 15:02:00) 

Доброго дня уважаемые! Скажите плиз как можно печатать bmp переменную без использования PrintDialog, а то эта компонента глючит - печатает через раз или ваще не печатает. Заранее спасибо.


Однокамушкин   (2007-05-22 16:41:00) [1]

Соседняя ветка на эту же тему...
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1179734532&n=0


Lera   (2007-05-22 16:02:00) [2]

как же быть то теперь:(


Lera   (2007-05-22 15:52:00) [3]

а вы не могли бы хотя приблизительной код написать....плиз


Правильный Вася   (2007-05-22 15:50:00) [4]


>  то печатает, то нет.

то BMP в формате привычном, то в формате DIB


Lera   (2007-05-22 15:45:00) [5]

главное то печатает, то нет....сеня ваще никак...загадка


Правильный Вася   (2007-05-22 15:44:00) [6]

CLX canvases use device-dependent bitmaps to implement the Draw, StretchDraw, or CopyRect methods. Because of this, you can’t use these methods with most printers. Instead, to create graphic images on the printer’s canvas, create a device-independent bitmap and draw it directly to the canvas’s Handle property.


Lera   (2007-05-22 15:41:00) [7]

ни фурычит:(


Правильный Вася   (2007-05-22 15:33:00) [8]

а масштаб?


Darvin   (2007-05-22 15:30:00) [9]

попробуй
Printer.Canvas.stretchdraw(ImageRect,bmp_p);
канва еще есть у формы


Lera   (2007-05-22 15:25:00) [10]

Есть код:
-----------------------------
Bmp_p:=TBitmap.Create;
bmp_for_print;//готовит переменную bmp_p

 if Fm_main.PrintDialog1.Execute then
  with Printer do
   begin
   Orientation := poLandscape;
   ImageRect.Top:=0;
   ImageRect.Left:=0;
   ImageRect.Right:=PageWidth;
   ImageRect.Bottom:=PageHeight ;
   begindoc;
   Canvas.stretchdraw(ImageRect,bmp_p);
   enddoc;
   end;

bmp_p.SaveToFile(MainDir+'Map.bmp');//сохранение в файл

Bmp_p.free;

После выполнения кода по кнопке на форме принтре выдает пустой лист, в файле есть картинка....чудеса!!!


Lera   (2007-05-22 15:12:00) [11]

без ее помощи можно какнить напечатать?


Darvin   (2007-05-22 15:12:00) [12]

Можно с помощью TPrinter


Правильный Вася   (2007-05-22 15:05:00) [13]

> PrintDialog, а то эта компонента глючит - печатает через
> раз или ваще не печатает
эта компонента ваще не печатает ничего, это не ее функция


Наверх

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