![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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