Перейти к содержанию
Fire Monkey от А до Я

Лидеры

Популярный контент

Показан контент с высокой репутацией 29.05.2014 во всех областях

  1. В общем ничего кроме стандартных знаний линейной алгебры здесь не требуется. Согласно линейной алгебры нужно построить матрицу трансформации задать ее для канвы и рисовать все что угодно. Если вспомнить, то выполнить нужно следующее: Сместить Систему Координат (СК) на вектор центра поворота. Повернуть СК на угол поворота Сместить СК на обратные вектор центра поворота. В коде это будет выглядеть так: uses System.Math.Vectors; {$R *.fmx} procedure TForm1.ButtonDrawRotatedTextClick(Sender: TObject); var RotationMatrix: TMatrix; TranslationMatrix: TMatrix; ReverseTranslationMatrix: TMatrix; begin Image1.Bitmap.SetSize(200, 200); Image1.Bitmap.Clear(TAlphaColorRec.Null); with Image1.Bitmap.Canvas do begin BeginScene; try TranslationMatrix := TMatrix.CreateTranslation(100, 100); RotationMatrix := TMatrix.CreateRotation(-Pi / 180 * nbAngle.Value); ReverseTranslationMatrix := TMatrix.CreateTranslation(-100, -100); SetMatrix(ReverseTranslationMatrix * RotationMatrix * TranslationMatrix); Fill.Color := TAlphaColorRec.Red; Fill.Kind := TBrushKind.Solid; Font.Size := 20; FillText(TRectF.Create(50, 50, 150, 150), 'Текст', False, 1, [], TTextAlign.Center, TTextAlign.Center); finally EndScene; end; Image1.Repaint; end; end; Результат: Проект: DrawRotatedTextDemo.zip
    2 балла
  2. DPI для Android uses FMX.Helpers.Android, Androidapi.JNI.Util; procedure TForm1.Button1Click(Sender: TObject); var Disp: JDisplayMetrics; NativeClientHeight, NativeClientWidth: Single; begin Disp := GetJDisplayMetrics; NativeClientWidth := ClientWidth * Disp.density; NativeClientHeight := ClientHeight * Disp.density; //Label1.Text := 'Width: ' + FloatToStr(NativeClientWidth); //Label2.Text := 'Height: ' + FloatToStr(NativeClientHeight); Label1.Text := FloatToStr( Disp.xdpi ); Label2.Text := FloatToStr( Disp.ydpi ); Label3.Text := IntToStr( Disp.densityDpi ); end; Для IOS облом, рассчитывай сам http://www.dpi.nu/, http://www.sven.de/dpi/, http://www.pxcalc.com/, http://www.pixelcalculator.com/ и т.п.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...