Показать сообщение отдельно
  #4  
Старый 10.08.2025, 18:51
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,105
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Elijah
Что за функция DrawVCLBitmapOnFMXCanvas? Где она находится?

Код:
procedure DrawVCLBitmapOnFMXCanvas(VCLBitmap: Vcl.Graphics.TBitmap; FMXCanvas: TCanvas; const DestRect: TRectF);
var
  FMXBitmap: FMX.Graphics.TBitmap;
  BitmapData: TBitmapData;
  x, y: Integer;
begin
  // Create an FMX Bitmap
  FMXBitmap := FMX.Graphics.TBitmap.Create(VCLBitmap.Width, VCLBitmap.Height);
  try
    // Lock the FMX Bitmap for writing
    if FMXBitmap.Map(TMapAccess.Write, BitmapData) then
    try
      // Copy pixel data from VCL Bitmap to FMX Bitmap
      for y := 0 to VCLBitmap.Height - 1 do
        for x := 0 to VCLBitmap.Width - 1 do
          BitmapData.SetPixel(x, y, VCLBitmap.Canvas.Pixels[x, y]);
    finally
      FMXBitmap.Unmap(BitmapData);
    end;

    // Draw the FMX Bitmap onto the FMX Canvas
    FMXCanvas.DrawBitmap(FMXBitmap, RectF(0, 0, FMXBitmap.Width, FMXBitmap.Height), DestRect, 1.0);
  finally
    FMXBitmap.Free;
  end;
end;
Ответить с цитированием