Форум: "Основная";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
ВнизНе нашел, как получить картинку TChart а... Найти похожие ветки
← →
Тфьу (2006-06-06 17:22) [0]Есть сохранение в файл, есть копировать в клипбоард. А как просто получить в TBitmap?
← →
Tonich © (2006-06-06 18:48) [1]Chart1.SaveToBitmapFile();
первый нах..
видать ты его и не искал )
← →
Tonich © (2006-06-06 18:51) [2]а блин погодь всмысле загнать класс?
← →
Kolan © (2006-06-06 22:05) [3]
> Тфьу (06.06.06 17:22)
Я тоже не нашел. Делал так:
СохранялChart1.SaveToBitmapFile();
а мотом загружал из файла. ..
← →
Тфьу (2006-06-07 11:19) [4]Я так и делаю:
MyChart.SaveToBitmapFile(GetEnvironmentVariable("temp")+"\xxx.bmp");
Но у меня все внутри при этом переворачивается.
А еще у нас параноидальные администраторы. Чего-нибудь запретят и котенок станет песцом.
← →
EvS © (2006-06-07 12:39) [5]А через клипбоард чем не катит? Да и доступ к Canvas имеет место быть, можно прямо с нее вытянуть.
← →
lookin © (2006-06-07 21:39) [6]Поройся тут плз, я сейчас не могу расшифровать,
procedure TDataSheet.PrintOkButtonClick(Sender: TObject);
var i,j,n,numx,numy,w,h,xrange,yrange: integer;
r,r2: TRect;
b: TBitmap;
begin
try
case PrintIdentifier of
0: for j:=0 to Length(Previews[0])-1 do
for i:=0 to Length(Previews)-1 do begin
r:=Rect(0,0,Printer.PageWidth,Printer.PageHeight);
with Printer do begin BeginDoc;
Canvas.StretchDraw(r,Previews[i][j].Picture.Graphic);
EndDoc; end; end;
1,2: begin r:=Rect(0,0,PrintChart.Width,PrintChart.Height);
b:=TBitmap.Create; b.PixelFormat:=pf32bit;
b.Width:=PrintChart.Width; b.Height:=PrintChart.Height;
numx:=0; n:=PrintChart.Width;
while n>PrintScrollBox.ClientWidth do begin
n:=n-PrintScrollBox.ClientWidth; Inc(numx); end;
numy:=0; n:=PrintChart.height;
while n>PrintScrollBox.Clientheight do begin
n:=n-PrintScrollBox.Clientheight; Inc(numy); end;
w:=PrintScrollBox.ClientWidth; h:=PrintScrollBox.ClientHeight;
xrange:=trunc((PrintScrollBox.HorzScrollBar.Range-
PrintScrollBox.Width)/numx);
yrange:=trunc((PrintScrollBox.VertScrollBar.Range-
PrintScrollBox.Height)/numy);
for i:=0 to numx do for j:=0 to numy do begin
PrintScrollBox.HorzScrollBar.Position:=xrange*i;
PrintScrollBox.VertScrollBar.Position:=yrange*j;
PrintChart.Update;
r2:=Rect(Abs(PrintChart.Left),Abs(PrintChart.Top),
Abs(PrintChart.Left)+w,Abs(PrintChart.Top)+h);
b.Canvas.CopyRect(r2,PrintChart.Canvas.ReferenceCanvas,r2); end;
with Printer do begin BeginDoc;
Canvas.StretchDraw(r,b); EndDoc; end; b.Free; end; end;
except
if ViewXInfo.Language="English" then
MessageDlg("Printing error...",mtWarning,[mbOk],0);
if ViewXInfo.Language="Russian" then
MessageDlg("Îøèáêà ïå÷àòè...",mtWarning,[mbOk],0); end;
for i:=0 to Length(Previews)-1 do
for j:=0 to Length(Previews[i])-1 do
if Assigned(Previews[i][j]) then begin
Previews[i][j].Parent:=nil; Previews[i][j].Free; end; Previews:=nil;
PrintChart.FreeAllSeries; PrintChart.Parent:=nil;
PageControl.Pages[0].TabVisible:=true;
PageControl.Pages[1].TabVisible:=true;
PageControl.Pages[2].TabVisible:=true;
PageControl.Pages[3].TabVisible:=false;
PrintButton.Enabled:=true;
(Owner as TViewX).CloseFileButton.Enabled:=true;
PageControl.ActivePageIndex:=0; PageControl.OnChange(PageControl);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.014 c