Jump to content

s.fedotenko@gmail.com

Members
  • Posts

    133
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by s.fedotenko@gmail.com

  1. Рано или поздно, и практически всегда, все равно, с этим сталкиваешься. И даже небольшие возможности - в помощь.
  2. 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 -нет Project_TestBM.zip
  3. Здравствуйте. Имеем код: 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. Не очень понятно, почему примитивы на битмапе рисуются со скэйлом устройства?
  4. Разобрался: исключение возникает, так как устанавливается размер одной из сторон, когда другая сторона битмапа еще равна 0. Правильно изначально устанавливать размеры обоих сторон вместе через свойство .Size. Это непривычно, т.к. в обычном TBitMap (на Delphi) начальное задание размеров через Width и Height не вызывало исключений или был понятный метод .SetSize
  5. Здравствуйте. При установке размеров битмапа через свойства .Width и .Height происходит исключение: Через свойство .Size - размеры устанавливаются нормально.
×
×
  • Create New...