Bitcoin Forum
June 27, 2025, 03:01:18 PM *
News: Pizza day contest voting
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Требуется Delphi программист  (Read 49 times)
Scarabus (OP)
Jr. Member
*
Offline Offline

Activity: 126
Merit: 5


View Profile
June 24, 2025, 06:05:40 AM
Merited by klarki (1)
 #1

Я хочу оутсорсить работу над своим проектом (программой на Delphi). Ищется Delphi программист, которому можно будет периодически поручать разные задачи. Оплату предлагаю почасовую - 2500р за час. Работа подразумевает не только программирование, но и поиск информации, чтение документации и т.д.
Сейчас например у меня такая задача: нужно сделать в Delphi XE8 сохранение анимированных gif файлов с прозрачным фоном. Я уже сделал сохранение этих файлов без прозрачного фона с помощью библиотеки vampire imaging library, но теперь надо ещё добавить прозрачность, и для этого надо поразбираться с этой библиотекой.
xandry
Moderator
Legendary
*
Offline Offline

Activity: 3864
Merit: 5135



View Profile WWW
June 24, 2025, 05:24:48 PM
 #2

С chatGPT не пробовали пообщаться на эту тему?  Wink
Я вот ему ваши пожелания передал, он сразу код выдал:

Code:
// Пример кода для добавления прозрачности в анимированный GIF с использованием Vampire Imaging Library в Delphi XE8
// Требуется подключение библиотеки Vampire Imaging Library

uses
  VCL.Graphics, Imaging, ImagingGIF;

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

  GifImage := TGIFImage.Create;
  try
    for i := 0 to High(SourceImages) do
    begin
      Frame := TGIFFrame.Create;

      // Устанавливаем кадр
      Frame.Bitmap.Assign(SourceImages[i]);

      // Устанавливаем прозрачность
      Frame.Options := Frame.Options + [goTransparent];
      Frame.TransparentColor := ColorToRGB(TransparentColor);

      // Добавляем кадр в изображение
      GifImage.AddFrame(Frame);
    end;

    // Сохраняем файл
    GifImage.SaveToFile(OutputFile);
  finally
    GifImage.Free;
  end;
end;

▄███████████████████▄
████████████████████████

██████████▀▀▀▀██████████
███████████████▀▀███████
█████████▄▄███▄▄█████
████████▀▀████▀███████
█████████▄▄██▀██████████
████████████▄███████████
██████████████▄█████████
██████████▀▀███▀▀███████
███████████████████████
█████████▄▄████▄▄████████
▀███████████████████▀
.
 BC.GAME 
███████████████
███████████████
███████████████
███████████████
██████▀░▀██████
████▀░░░░░▀████
███░░░░░░░░░███
███▄░░▄░▄░░▄███
█████▀░░░▀█████

███████████████

███████████████

███████████████

███████████████
███████████████
███████████████
███████████████
███████████████
███░░▀░░░▀░░███
███░░▄▄▄░░▄████
███▄▄█▀░░▄█████
█████▀░░▐██████
█████░░░░██████

███████████████

███████████████

███████████████

███████████████
███████████████
███████████████
███████████████
███████████████
██████▀▀░▀▄░███
████▀░░▄░▄░▀███
███▀░░▀▄▀▄░▄███
███▄░░▀░▀░▄████
███░▀▄░▄▄██████

███████████████

███████████████

███████████████

███████████████

DEPOSIT BONUS
.1000%.
GET FREE
...5 BTC...

REFER & EARN
..$1000 + 15%..
COMMISSION


 Play Now 
Scarabus (OP)
Jr. Member
*
Offline Offline

Activity: 126
Merit: 5


View Profile
June 26, 2025, 07:00:20 AM
Last edit: June 26, 2025, 09:16:16 AM by xandry
 #3

xandry

Ну проверю, но вообще не думаю что он толком может помогать, я уже обращался к нему за советами.



Да, всё он наврал как обычно, не компилируется строка с Frame.Options - нет такого свойства у TGIFFrame, и похожего вроде нет.
xandry
Moderator
Legendary
*
Offline Offline

Activity: 3864
Merit: 5135



View Profile WWW
June 26, 2025, 09:15:52 AM
 #4

Да, всё он наврал как обычно, не компилируется строка с 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

▄███████████████████▄
████████████████████████

██████████▀▀▀▀██████████
███████████████▀▀███████
█████████▄▄███▄▄█████
████████▀▀████▀███████
█████████▄▄██▀██████████
████████████▄███████████
██████████████▄█████████
██████████▀▀███▀▀███████
███████████████████████
█████████▄▄████▄▄████████
▀███████████████████▀
.
 BC.GAME 
███████████████
███████████████
███████████████
███████████████
██████▀░▀██████
████▀░░░░░▀████
███░░░░░░░░░███
███▄░░▄░▄░░▄███
█████▀░░░▀█████

███████████████

███████████████

███████████████

███████████████
███████████████
███████████████
███████████████
███████████████
███░░▀░░░▀░░███
███░░▄▄▄░░▄████
███▄▄█▀░░▄█████
█████▀░░▐██████
█████░░░░██████

███████████████

███████████████

███████████████

███████████████
███████████████
███████████████
███████████████
███████████████
██████▀▀░▀▄░███
████▀░░▄░▄░▀███
███▀░░▀▄▀▄░▄███
███▄░░▀░▀░▄████
███░▀▄░▄▄██████

███████████████

███████████████

███████████████

███████████████

DEPOSIT BONUS
.1000%.
GET FREE
...5 BTC...

REFER & EARN
..$1000 + 15%..
COMMISSION


 Play Now 
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!