المشاركات : 138
المواضيع 39
:
: 0
الإنتساب : Apr 2008
بسم الله الرحمن الرحيم
السلام عليكم ورحمه الله تعالي وبركاته
كيف اقوم بضغط الصور في دلفي اي تصغير حجمها اذا كانت bmp/jpg
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
أن كانت الصور bmp يمكن تحويلها الى jpg للحصول على حجم اصغر
ان كانت الصور jpeg لن تستطيع ضغطها لانها اصلا مضغوطة
هناك منها ما يسمى jpeg2000 حيث تكون الخواريزمية احسن قليلا
والسلام عليكم
المشاركات : 138
المواضيع 39
:
: 0
الإنتساب : Apr 2008
المشاركات : 138
المواضيع 39
:
: 0
الإنتساب : Apr 2008
سلام عليك استاذ عبد العزيز اعود اليك بعد مده واجدد سؤالي اعمل علي برنامج لضغط الصور اذا كانت bmp ساقوم بتحويلها الي jpg اما اذا كانت jpg كيف اقوم بتحويلها الي jpg2000 الشرح اذا امكن بمثال مرفق وايضا بقيه الامتدادات مثال gif,png,
لا اله الا الله
عدد ما كان وعدد ما يكون وعدد الحركات والسكون
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
وعليكم السلام ورحمة الله
ابحث، هناك الكثير من الخيارات امامك
JPEG 2000 for Pascal
PHP كود :
code.google.com/p/pasjpeg2000
معه مثال للاستخدام
ImageFileLib
المزيد بصيغ مختلة
PHP كود :
torry.net/pages.php?id=107
efg2.com/Lab/Library/Delphi/Graphics/FileFormatsAndConversion.htm
بالتوفيق
المشاركات : 842
المواضيع 49
:
: 65
الإنتساب : Jun 2010
15-01-2011, 01:44 PM
(آخر تعديل لهذه المشاركة: 15-01-2011, 02:29 PM بواسطة Lam.Abdeldjalil.)
السلام عليكم
إضافة

: بالنسبة لإصدارات دلفي 2009 و ما بعد
jpg -> png / gif
كود :
uses
...
Jpeg, pngimage, GIFImg ;
كود :
JP : TJPegImage;
png1 :TPngImage;
GIF1:TGIFImage;
MyFormat : Word;
AData : THandle;
APalette : HPALETTE;
begin
JP := TJPegImage.Create;
png1 :=TPngImage.Create;
GIF1 := TGIFImage.Create;
try
JP.LoadFromFile('Untitled.jpg');
JP.SaveToClipBoardFormat( MyFormat,AData,APalette);
ClipBoard.SetAsHandle(MyFormat,AData);
png1.LoadFromClipboardFormat( MyFormat,AData, APalette);
png1.SaveToFile('mypng.png');
GIF1.LoadFromClipboardFormat( MyFormat,AData, APalette);
GIF1.SaveToFile('mygif.gif');
finally
JP.Free;
png1.Free;
GIF1.Free;
end;
بالتوفيق
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
مرحبا اخي عبد الجليل
إقتباس :jpg -> png / gif
التحويل من jpg الى png يزيد حجم الملف
التحويل الى gif يفقد الصورة دقتها
الصيغة gif لا تقبل اكثر من 256 لون
هناك ايضا الصيغة الجديدمن Google المسماة WebP
ربما لا يوجد مكون حتى الان لدلفي او Pascal يتعامل معها، تمرين جيد لمن لديه وقت
المشاركات : 842
المواضيع 49
:
: 65
الإنتساب : Jun 2010
15-01-2011, 07:00 PM
(آخر تعديل لهذه المشاركة: 17-01-2011, 10:05 PM بواسطة Lam.Abdeldjalil.)
السلام عليكم
بارك الله فيك أستاذ عبد العزيز على المعلومات

أعتذر لم أقرأ السؤال جيدا حسبته تحويل
jpg -> png / gif
تعديل على الكود السابق : bmp->jpg/png/gif
كود :
Bmp : TBitmap;
JP : TJPegImage;
png1 :TPngImage;
GIF1:TGIFImage;
MyFormat : Word;
AData : THandle;
APalette : HPALETTE;
begin
Bmp := TBitmap.Create;
JP := TJPegImage.Create;
png1 :=TPngImage.Create;
GIF1 := TGIFImage.Create;
try
Bmp.LoadFromFile('image.bmp');
[I] // Bmp.SaveToClipBoardFormat( MyFormat,AData,APalette);[/I]
[I] // ClipBoard.SetAsHandle(MyFormat,AData);[/I]
JP.Assign(Bmp);
JP.SaveToFile('myjpg.jpg');
[I] //png1.LoadFromClipboardFormat( MyFormat,AData, APalette);[/I]
png1.Assign(bmp);
png1.SaveToFile('mypng.png');
[I] //GIF1.LoadFromClipboardFormat( MyFormat,AData, APalette);[/I]
GIF1.Assign(bmp);
GIF1.SaveToFile('mygif.gif');
finally
Bmp.Free;
JP.Free;
png1.Free;
GIF1.Free;
end;
التجربة على ملف bmp -> 2305 ko أعطى النتائج
jpg -> 117 ko
png -> 402 ko
Gif -> 128 ko
والسلام عليكم
المشاركات : 138
المواضيع 39
:
: 0
الإنتساب : Apr 2008
شكرا استاذ عبد العزيز وشكا استاذ عبد الجليل لكني اعمل علي دلفي 7 وهذا الكود لدلفي 2009
لا اله الا الله
عدد ما كان وعدد ما يكون وعدد الحركات والسكون
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
مكون دلفي png الشهير، نسخة من torry
كود :
http://www.torry.net/vcl/graphics/otherformats/pngimage.zip
المزيد:
كود :
http://delphi.pjh2.de/articles/graphic/png.php