почему Delphi FillEllipse не заполняет его растровым изображением на Android (однако прекрасно работает на Windows)? - PullRequest
0 голосов
/ 28 февраля 2020

Delphi 10.3.3 Firemonkey, мультиплатформенное приложение.

Почему нижеприведенный код успешно рисует Ellipse, заполненный Bitmap, на Windows, но пустой * (прозрачный) эллипс на Android? (т. е. на Android он не заполнен моим растровым изображением)?

// below code is inside OnPaint procedure TForm1.PaintBox1Paint(..)

with Canvas do
  Fill.Kind := TBrushKind.Bitmap;
  Fill.Bitmap.Bitmap := a_bitmap; // a_bitmap is TBitmap prepared earlier
  that I prepared
  Fill.Bitmap.WrapMode := TWrapMode.Tile;
  FillEllipse(circle_rect, 1, Fill); //circle_rect is TRectF prepared earlier
// I also tryed FillEllipse(circle_rect, 1) - same effect, it works on Win but not on Android
end;

UPDATE1

Пока заполнение FillEllipse растровым изображением не работает, я реализовал обходной путь используя FillRect вместо FillEllipse:

Fill.Bitmap.WrapMode := TWrapMode.TileStretch;
FillRect(circle_rect, 0, 0, AllCorners, 100);
// Bitmap I used a PNG picture in form of circle and transparent background around circle...
...