Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2021, 13:39   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 624
По умолчанию Delphi 7 PNG надо его конвертировать в JPG

Добрый день. Как открыть картинку формата PNG ?
Вообще, надо его конвертировать в JPG
Kronos913 вне форума Ответить с цитированием
Старый 10.04.2021, 18:52   #2
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 624
По умолчанию

Пока ждал ответ, сам разобрался... Может кому пригодится:
Надо установить файл с архива, после чего вот такой код

Код:
uses pngimage
Код:
procedure PNGtoJPG(const s1:string; const s2:string);
var
 png: TPNGObject;
 jpg: TJPEGImage;
 bmp: TBitMap;
begin
   png:= TPNGObject.Create;
   png.LoadFromFile(s1);
   bmp:= TBitMap.Create;
   bmp.Assign(png);
   png.Free;
   jpg:= TJPEGImage.Create;
   jpg.Assign(bmp);
   bmp.Free;
   jpg.SaveToFile(s2);
   jpg.Free;
end;
Код:
PNGtoJPG('Файл1.png' , 'Файл2.jpg');
Вложения
Тип файла: zip PngComponentsSetup.zip (627.0 Кб, 21 просмотров)
Kronos913 вне форума Ответить с цитированием
Старый 10.04.2021, 19:49   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Редко кто выкладывает код после решения задачи, спасибо )
Alar вне форума Ответить с цитированием
Старый 23.02.2022, 07:36   #4
Stanei
Новичок
Джуниор
 
Регистрация: 26.10.2015
Сообщений: 1
По умолчанию

Kronos913, Спасибо огромное тебе добрый человек, здоровья тебе, да побольше! Перепробовал варианта четыре конвертации, ничего не подошло под мой проект. А тут практически идеально, немного переписал под себя и счастья полные штаны)

п.с. побольше бы таких людей
Stanei вне форума Ответить с цитированием
Старый 24.02.2022, 01:38   #5
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 624
По умолчанию

Вот есть улучшенный код:

Код:
Function PNGJPG(const s1:string; const s2:string) : boolean;
var
 bmp: TBitMap;
 d:int64;
begin
   bmp:= TBitMap.Create;
   if PNGLoadBMP(s1, bmp) then begin
     d:=FileAge(s1);
     try
      JPGSaveBMP(s2, bmp);
      If FileExists(s2) then begin
       FileSetDate(s2, d);
       PNGJPG:=true;
      end else PNGJPG:=false;
     except
      PNGJPG:=false;
     end;
   end else PNGJPG:=false;
   bmp.Free;
end;
И выше должны быть описаны процедуры
Код:
Function JPGLoadBMP(const FName:string; var bmp1:TBitMap): boolean;
var
   jpg: TJPEGImage;
begin
   jpg:= TJPEGImage.Create;
   try
    jpg.LoadFromFile(FName);
    bmp1.Assign(jpg);
    JPGLoadBMP:=true;
   except
    JPGLoadBMP:=false;
   end;
   jpg.Free;
end;

procedure PNGSaveBMP(const FName:string; const bmp1:TBitMap);
begin
   With TPNGObject.Create do begin
     try
       Assign(bmp1);
       SaveToFile(FName);
     finally
       Free;
     end;
   end;
end;

Последний раз редактировалось Kronos913; 24.02.2022 в 01:41.
Kronos913 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конвертировать SVG со шрифтами, масками и шаблонами в PNG Micher85 C# (си шарп) 0 31.07.2017 22:26
PNG и JPG в TGA Rec0il Общие вопросы Delphi 8 10.06.2014 00:16
Не получается конвертировать jpg в png Русик123 Общие вопросы Delphi 4 18.03.2012 11:02
Как конвертировать doc в jpg? Anya kaverza Microsoft Office Word 7 21.08.2011 08:00