Post
Topic
Board Работа
Re: Требуется Delphi программист
by
xandry
on 26/06/2025, 09:15:52 UTC
Да, всё он наврал как обычно, не компилируется строка с Frame.Options - нет такого свойства у TGIFFrame, и похожего вроде нет.
Исправленный код от perplexity:

Code:
uses
  VCL.Graphics, Imaging, ImagingGIF, ImagingTypes;

procedure SaveGifWithTransparency(const SourceImages: array of TBitmap; const OutputFile: string);
var
  GifImage: TGIFImage;
  Frame: TGIFFrame;
  GCExt: TGIFGraphicControlExtension;
  i: Integer;
  TransparentColor: TColor;
begin
  TransparentColor := clWhite; // Замените на нужный цвет прозрачности

  GifImage := TGIFImage.Create;
  try
    for i := 0 to High(SourceImages) do
    begin
      // Создаём кадр и копируем изображение
      Frame := TGIFFrame.Create(GifImage);
      Frame.Bitmap.Assign(SourceImages[i]);

      // Добавляем расширение для управления прозрачностью
      GCExt := TGIFGraphicControlExtension.Create(Frame);
      GCExt.Transparent := True;
      GCExt.TransparentColorIndex := GifImage.GlobalColorMap.AddColor(TransparentColor);

      // Опционально: настройка задержки между кадрами (в сотых долях секунды)
      GCExt.Delay := 10; // Пример: 0.1 секунды
    end;

    // Сохраняем результат
    GifImage.SaveToFile(OutputFile);
  finally
    GifImage.Free;
  end;
end;

Говорит, что "В коде, который вы предоставили, проблема возникает из-за использования несуществующего свойства Options у класса TGIFFrame в библиотеке Vampire Imaging Library. Согласно документации и примерам работы с GIF в Delphi, управление прозрачностью осуществляется через расширение графического контроля (TGIFGraphicControlExtension), а не напрямую через свойства фрейма."



xandry

Ну проверю, но вообще не думаю что он толком может помогать, я уже обращался к нему за советами.
Помогать может, просто порой ошибается и надо время тратить на составление запросов, просить документацию проверять, просить переделать указывая причину. Я даже практически уверен, что ваш платный программист будет использовать ИИ для этого, как и для других задач, которые вы хотите дать (поиск информации, чтение документации).
Если не будет, то это как минимум странно. Smiley