-
Valera (24.05.08 11:48) [0]Мне надо нарисовать линию со сглаживанием с его помощью но только
мне надо нарисовать ёё на битмапе обычном (не пустом).
Вот SmoothDIB
http://www.kolnmck.ru/files/components/graphics/smoothdib.7z
Мне надо сделать
PSmoothDIB --> Pbitmap
Нарисовать линию со сглаживанием.
Потом вернуть это на Bitmap.
Pbitmap --> PSmoothDIB
.
Как преобразововать. -
Valera (24.05.08 11:49) [1]Ой то есть наоборот..
Pbitmap --> PSmoothDIB
Нарисовать линию со сглаживанием.
Потом вернуть это на Bitmap.
PSmoothDIB --> Pbitmap -
Valera (25.05.08 00:04) [2]Блин почему небыло демо в данном компоненте. Очень бы помогло.
Скажите хотя бы куда копать. -
Дмитрий К © (25.05.08 15:33) [3]program testsmoothdib;
uses
Windows, KOL, SmoothDIB;
var
Bmp: PBitmap;
SD: PSmoothDIB;
procedure FormPaint(Dummy, Sender: PControl; DC: HDC);
begin
Bmp.Draw(DC, 0, 0);
end;
var
Form: PControl;
begin
Form := NewForm(nil, 'SmoothDIB Test');
Bmp := NewBitmap(200, 100);
Form.Add2AutoFree(Bmp);
with Bmp.Canvas^ do
begin
Brush.Color := clWhite;
Pen.Color := clRed;
Pen.PenWidth := 1;
FillRect(Bmp.BoundsRect);
MoveTo(10, 10);
LineTo(190, 90);
end;
New(SD, Create);
Form.Add2AutoFree(SD);
SD.DIB.Assign(Bmp);
SD.PenWidth := 0.5;
SD.Canvas.Pen.Color := clBlue;
SD.DrawLine(190, 10, 10, 90);
Bmp.CopyRect(Bmp.BoundsRect, SD.DIB, SD.BoundsRect);
Form.OnPaint := TOnPaint(MakeMethod(nil, @FormPaint));
Run(Form);
end. -
Valera (24.06.08 13:36) [4]Спасибо большее Дмитрий К