-
Posts
133 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Events
Store
Blogs
Posts posted by s.fedotenko@gmail.com
-
-
xx_1 := 0; yy_1 := 0; xx := 0; i := 0; APoints:=nil; while xx < pCanvas.Width do begin xx := i * (1 / 100); yy := (pCanvas.Height / 2) - 100 * sin(2 * pi * 0.05 * i / 100); pCanvas.DrawLine(pointf(xx_1, yy_1), pointf(xx, yy)); SetLength(APoints, Length(APoints) + 1); APoints[Length(APoints) - 1] := pointf(xx, yy - 50); xx_1 := xx; yy_1 := yy; inc(i); end; if Length(APoints) > 0 then pCanvas.DrawLines(APoints);
рисуется функция двумя способами:
через DrawLine - нормально
через DrawLines -нет
-
Здравствуйте.
Имеем код:
procedure TFormMain.fgPaintBox1Paint(Sender: TObject; const ACanvas: TfgCanvas); var aBm: TFgBitMap; begin try aBm := TFgBitMap.Create; aBm.Size := Tsize.Create(round(fgPaintBox1.Width), round(fgPaintBox1.Height)); aBm.Canvas.FillColor(TAlphaColorRec.Gray); aBm.Canvas.Stroke.Kind := TfgBrushKind.Solid; aBm.Canvas.Stroke.Color := TAlphaColorRec.Red; aBm.Canvas.Fill.Kind := TfgBrushKind.Solid; aBm.Canvas.Fill.Color := TAlphaColorRec.Yellow; aBm.Canvas.DrawCircle(aBm.Width / 2, aBm.Height / 2, aBm.Width / 2); ACanvas.DrawBitmap(aBm, 0, 0); finally aBm.DisposeOf; aBm := nil; end; end;
Скэйл устройства =2.
получили результат:
Два вопроса:
1. на PaintBox битмап выводится с размерами в 2 раза меньше. Насколько я понял это связано со скэйлом устройства, и что бы битмап отобразился на весь PaintBox на экране, нужно задавать физические размеры битмапа в 2 раза (для данного устройства) больше. Где можно узнать скэйл устройства, что бы задать размеры битмапа соответствующие выводу на PaintBox?
2. Не очень понятно, почему примитивы на битмапе рисуются со скэйлом устройства?
-
1 час назад, s.fedotenko@gmail.com сказал:
При установке размеров битмапа через свойства .Width и .Height происходит исключение:
Разобрался: исключение возникает, так как устанавливается размер одной из сторон, когда другая сторона битмапа еще равна 0. Правильно изначально устанавливать размеры обоих сторон вместе через свойство .Size.
Это непривычно, т.к. в обычном TBitMap (на Delphi) начальное задание размеров через Width и Height не вызывало исключений или был понятный метод .SetSize
-
Здравствуйте.
При установке размеров битмапа через свойства .Width и .Height происходит исключение:
Через свойство .Size - размеры устанавливаются нормально.
Локализация проекта
in Developed
Posted
Рано или поздно, и практически всегда, все равно, с этим сталкиваешься. И даже небольшие возможности - в помощь.