Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, woland255, Вы писали:
А>На всё не отвечу, расскажу как делаю сам. Пользую FastReport. Там есть компонент для печати графиков, исходники доступны. Весь смысл в создание EMF/WMF образа с поcледующей отрисовкой на канве принтера. То есть не сложнее вставить картинку в этот самый отчет. Функция Tchart для создания WMF -> TeeCreateMetafile.
А>Насчёт монохромности. Это беда. В самом TChart есть свойство для этих целей но лучше не пользовать. Руками в рантайме сохраняю все цвета, от легенд, серий и тд перевожу в b/w, после забора рисунка для печати восстанавливаю исходные.
Да, кстати, как сделать цвет чернобелым (Photoshop algorithm, уйму времени убил пока нашел...):
function Clamp (X: Double): Byte;
begin
if X < 0 then
Result := 0
else
if X + 0.1 >= 255 then
Result := 255
else
Result := Trunc (X);
end;
function GrayScaleColor(Color: TColor): TColor;
const
cntGamma = 2.243;
var
aRGB : Integer;
aRGBQuad : TRGBQuad absolute aRGB;
aValue : Extended;
aComponent : Byte;
begin
aRGB := ColorToRGB(Color);
with aRGBQuad do
aValue :=
0.213 * Power (rgbRed, cntGamma) +
0.715 * Power (rgbGreen, cntGamma) +
0.0724 * Power (rgbBlue, cntGamma);
aValue := Power (aValue, 1 / cntGamma);
aComponent := Clamp (aValue);
Result := RGB (aComponent, aComponent, aComponent);
end;