Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.005 c
15-1263151091
Дмитрий С
2010-01-10 22:18
2010.03.28
String в delphi2010


3-1236868464
tomkat
2009-03-12 17:34
2010.03.28
Конфликт FB Embedded и полноценного сервера


15-1263058858
GanibalLector
2010-01-09 20:40
2010.03.28
Интерфейс


2-1264744917
oleg1963lora
2010-01-29 09:01
2010.03.28
Возможен ли обработчик в другом модуле?


15-1262975426
Pitbull
2010-01-08 21:30
2010.03.28
HTML Help Workshop





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский