Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.28;
Скачать: CL | DM;

Вниз

Как с помощью делфи уменьшить вес фотки   Найти похожие ветки 

 
sava   (2010-01-04 21:50) [0]

Как с помощью делфи уменьшить вес фотки?Фотки в среднем весят 10-15 мб и DVD их плохо грузит. Где копать надо???


 
TIF ©   (2010-01-05 15:01) [1]

Программно пересохранить в более подходящем формате?
А ещё можно оптимизировать и этот формат?

Всё это позволяет сделать и сторонний специализированный софт

Цель какая: именно программно через Delphi это научиться делать или тупо решить для себя одноразовую бытовую задачу?


 
KilkennyCat ©   (2010-01-05 15:02) [2]

Обязательно с помощью делфи? xnview бесплатен, качествен и прекрасно работает с пакетной обработкой


 
Marser ©   (2010-01-05 15:03) [3]

Microsoft Office Picture Viewer :-)


 
MBo ©   (2010-01-05 15:17) [4]


program x4;

uses SysUtils, Classes, Graphics, Jpeg;

var
 j: TJpegImage;
 b: TBitmap;
 i: Integer;
 FileName: string;
 List: TStringList;
 SR: TSearchRec;

 procedure Convert(const FileName:string);
 begin
   j.LoadFromFile(FileName);
   b.Assign(j);
   j.Assign(b);
   j.SaveToFile("x4_"+FileName);
 end;

begin
 j := TJpegImage.Create;
 j.Scale := jsQuarter;
 b := TBitmap.Create;
 if ParamCount = 0 then begin
   List := TStringList.Create;
   if FindFirst("*.jpg", faAnyFile, SR) = 0 then begin
     repeat
       List.Add(SR.Name);
     until FindNext(SR) <> 0;
     FindClose(SR);
   end;
   for i := 0 to List.Count - 1 do
     Convert(List[i]);
   List.Free;
 end
 else
   for i := 1 to ParamCount do begin
     FileName := ParamStr(i);
     if FileExists(FileName) and
       (LowerCase(ExtractFileExt(FileName)) = ".jpg") then
         Convert(FileName);
   end;
 j.Free;
 b.Free;
end.



 
Кто б сомневался ©   (2010-01-05 17:44) [5]

IrfanView - умеет делать качественную обработку - это просмоторщик. Бесплатная прога.

Причем здесь Delphi (С++,C# и др. языки) и "Фотки в среднем весят 10-15 мб и DVD их плохо грузит"


 
Jeer ©   (2010-01-05 18:05) [6]


> Кто б сомневался ©   (05.01.10 17:44) [5]
> Причем здесь Delphi (С++,C# и др. языки)


Ну как - сапожник, наконец дошел до своих сапогов.
Устал он от собственного участия в развитии ACDSee, понимашь..


 
vuk ©   (2010-01-05 19:17) [7]

to MBo ©   (05.01.10 15:17) [4]:
Кстати, о птичках.

>j := TJpegImage.Create;

TJpegImage корежит цвета так, что аж на глаз заметно.


 
MBo ©   (2010-01-05 19:52) [8]

>vuk ©   (05.01.10 19:17) [7]
Я предполагаю, что  Scale := jsQuarter подразумевает простое преобразование без пересчета цветов. Но в тонкостях не разбирался.


 
vuk ©   (2010-01-05 20:01) [9]

to MBo ©   (05.01.10 19:52) [8]:
Я не по поводу данного примера, а вообще. Scale ни при чем. Я, когда понадобилось найти более-менее нормальную библиотеку для обработки изображений, всяких реализаций много перебрал. Во многих случаях были те же проблемы (видимо какие-то косяки в алгоритмах кочуют из библиотеки в библиотеку). В конечном итоге остановился на GFL SDK: http://www.xnview.com/en/gfl.html


 
Джо ©   (2010-01-05 20:02) [10]


> vuk ©

Может, внедренный цветовой профиль не учитывают?


 
Jeer ©   (2010-01-05 20:08) [11]


> vuk ©   (05.01.10 20:01) [9]
Во многих случаях были те же проблемы..


Даже с ijl*.dll ?


 
vuk ©   (2010-01-05 20:09) [12]

to Джо ©   (05.01.10 20:02) [10]:
>Может, внедренный цветовой профиль не учитывают?
Профиль тоже ни при чем. Имеем два изображения без профилей, после загрузки в TJpegImage и сохранения в другой файл имеем разные цвета (у меня особенно на ярко-красных цветах заметно было).
То же самое, но при помощи GFL - все нормально с цветами.


 
vuk ©   (2010-01-05 20:18) [13]

to Jeer ©   (05.01.10 20:08) [11]:
>Даже с ijl*.dll ?
Ет хто? :)
Если честно, не попадалось. Я в первую очередь рассматривал реализации на Delphi. Навскидку сейчас помню (давно было) только Envision Image Library, но что-то еще смотрел. Потом плюнул и взял GFL. Оттуда еще и масштабирование с шарпингом заюзались до кучи.


 
Jeer ©   (2010-01-05 20:24) [14]

Ну.. как бы, это хорошо известная Intel JPeg Library. Не знаю как сейчас дела обстоят ( наверняка лучше ), но для своего времени была фишкой по скорости.

Free до ijl15.dll, пока не сделали платной. Как-то так.

Использовали ее многие Delphi-библиотеки, например, FastLib.


 
vuk ©   (2010-01-05 20:34) [15]

to Jeer ©   (05.01.10 20:24) [14]:
Ну, значит не дошла до неё в то время очередь. Остановился на первом, что нашел и что подошло под решаемую задачу.


 
Jeer ©   (2010-01-05 20:43) [16]

Глянул setup v.1.51 - 2001 г.
Есть релизы отдельной ijl15.dll на 2003 г.

Потом все это перетекло в платную ISPL ( Intel Signal Processing Library )


 
Sava   (2010-01-07 10:21) [17]

Спасибо за советы обязательно попробую. А цель очень проста 1) развить свои знания и способности 2)фоток  640 шт и если каждую открывать в ручную то мышка может сдохнуть а на пальце будет большой мазоль...


 
Empleado ©   (2010-01-07 14:42) [18]


> 2)фоток  640 шт и если каждую открывать

Microsoft Office Picture Manager --> Compress Pictures прекрасно справляется с этой задачей



Страницы: 1 вся ветка

Текущий архив: 2010.03.28;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.009 c
1-1244383848
dmitry_12_08_73
2009-06-07 18:10
2010.03.28
При копировании экрана ее удаётся захватить окно со свойством For


1-1244994785
RWolf
2009-06-14 19:53
2010.03.28
D5: "step into" в код DLL


15-1262805333
Fenik
2010-01-06 22:15
2010.03.28
Нелегко быть президентом Украины


15-1262974524
Ламо777
2010-01-08 21:15
2010.03.28
Софт для захвата потокового видео с веб-страниц


2-1264496780
Oleg196lora
2010-01-26 12:06
2010.03.28
Странность в работе try..except