Bitcoin Forum
December 29, 2025, 02:24:07 PM *
News: Latest Bitcoin Core release: 30.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Требуется Delphi программист  (Read 253 times)
Scarabus (OP)
Jr. Member
*
Offline Offline

Activity: 150
Merit: 7


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: 4046
Merit: 5566



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;


███████▄▄███▄███▄
███▄▄████████▌██
▄█████████████▐██▌
██▄███████████▌█▌
███████▀██████▐▌█
██████████████▌▌▐
████████▄███████▐▐
█████████████████
███████████████▄██▄
██████████████▀▀▀
█████▀███▀▀▀

▄▄▄██████▄▄▄███████▄▄▄
███████████████████████████
███▌█████▀███▌█████▀▀███████████▄▄▄▄▄▄▄▄
███▌█████▄███▌█████▄███▐███████████████████▄
▐████████████▀███████▄██████████▀▀▀▀▀▀▀▀████▀
▐████████████▄██▄███████████▌█████████▄████▀
▐█████████▀█████████▌█████████████▄▄████▀
██████████▄███████████▐███▌██▄██████▀
██████████████▀███▐███▌██████████████████████
████▀██████▀▀█████████▌███▀▀▀▀███▀▀▀▀▀▀▀████▌
 
      P R E M I E R   B I T C O I N   C A S I N O   &   S P O R T S B O O K      

█▀▀









▀▀▀

▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

  98%  
RTP

 
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

▀▀█









▀▀▀

█▀▀









▀▀▀

▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

 HIGH 
ODDS

 
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

▀▀█









▀▀▀
 
..PLAY NOW..
Scarabus (OP)
Jr. Member
*
Offline Offline

Activity: 150
Merit: 7


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: 4046
Merit: 5566



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


███████▄▄███▄███▄
███▄▄████████▌██
▄█████████████▐██▌
██▄███████████▌█▌
███████▀██████▐▌█
██████████████▌▌▐
████████▄███████▐▐
█████████████████
███████████████▄██▄
██████████████▀▀▀
█████▀███▀▀▀

▄▄▄██████▄▄▄███████▄▄▄
███████████████████████████
███▌█████▀███▌█████▀▀███████████▄▄▄▄▄▄▄▄
███▌█████▄███▌█████▄███▐███████████████████▄
▐████████████▀███████▄██████████▀▀▀▀▀▀▀▀████▀
▐████████████▄██▄███████████▌█████████▄████▀
▐█████████▀█████████▌█████████████▄▄████▀
██████████▄███████████▐███▌██▄██████▀
██████████████▀███▐███▌██████████████████████
████▀██████▀▀█████████▌███▀▀▀▀███▀▀▀▀▀▀▀████▌
 
      P R E M I E R   B I T C O I N   C A S I N O   &   S P O R T S B O O K      

█▀▀









▀▀▀

▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

  98%  
RTP

 
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

▀▀█









▀▀▀

█▀▀









▀▀▀

▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

 HIGH 
ODDS

 
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

▀▀█









▀▀▀
 
..PLAY NOW..
alex34562
Newbie
*
Offline Offline

Activity: 27
Merit: 0


View Profile
November 01, 2025, 11:07:38 PM
 #5

Контакты оставьте
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!