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

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

TChart : BackImage не выводится на принтер. [D7, WinXP]


Михаил ©   (2008-11-30 15:56:00) 

С помощью
Chart1.BackImage.Assign(Image1.Picture);
Chart1.SaveToBitmapFile(SavePictureDialog1.FileName);
Chart1.CopyToClipboardBitmap;
Chart1.Print;

изображение Image1.Picture появляется на Chart1.BackWall , сохраняется в bmp-файл, копируется вместе с графиком в буфер обмена, но почему-то не выводится на принтер.
Мастера, подскажите, пожалуйста, в чём ошибка ?


Дмитрий Белькевич   (2008-12-06 12:01:00) [1]


> Image1.Picture.SaveToFile(PrintFileName);Chart1.Walls.Back.
> Picture.LoadFromFile(PrintFileName);


Если уж делать извращение, то через поток. Файлы - лишнее.


Михаил   (2008-12-01 12:13:00) [2]

Пока вышел из тупика. Вместо
Chart1.Walls.Back.Picture.Assign(Image1.Picture);
написал
Chart1.Walls.Visible:=True;
Image1.Picture.SaveToFile(PrintFileName);
Chart1.Walls.Back.Picture.LoadFromFile(PrintFileName);
Chart1.Print;
Chart1.Walls.Visible:=False;
DeleteFile(PrintFileName);

За ссылку спасибо, попробую.


KilkennyCat   (2008-12-01 11:12:00) [3]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1225292591&n=0


Михаил   (2008-12-01 09:30:00) [4]


> Попробуйте сначала поставить Image1.Picture.Bitmap.PixelFormat:
> =pf24Bit. Не знаю, как с печатью TChart, но с обычной печатью
> это помогает.

Увы, не помогло.
Собственно, дело не в Image. Я пробовал рисовать прямоугольник прямо на canvas'е :
Chart1.BackImage.Bitmap.Canvas.MoveTo(x0,y0);
Chart1.BackImage.Bitmap.Canvas.LineTo(x1,y0);
Chart1.BackImage.Bitmap.Canvas.LineTo(x1,y1);
Chart1.BackImage.Bitmap.Canvas.LineTo(x0,y1);
Chart1.BackImage.Bitmap.Canvas.LineTo(x0,y0);

Всё равно на принтер фон не выводится. Причём, в файловые принтеры выводится по-разному - Adobe PDF Printer фон не печатает, а MS Office Document Image Writer выводит всё, что надо. Я полагал, что надо порыться в свойствах TChart (у меня pro 8), но ничего похожего не нашёл.


Григорьев Антон   (2008-12-01 09:03:00) [5]

Попробуйте сначала поставить Image1.Picture.Bitmap.PixelFormat:=pf24Bit. Не знаю, как с печатью TChart, но с обычной печатью это помогает.


KilkennyCat   (2008-12-01 02:02:00) [6]

потому что нужно просто посмотреть, в чем разница между Image1.Picture и Printer.Canvas


Наверх

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