delphi4arab منتديات دلفي للعرب
ضغط الصور في دلفي - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : ضغط الصور في دلفي (/showthread.php?tid=314)

الصفحات: 1 2


ضغط الصور في دلفي - galag8 - 10-12-2008

بسم الله الرحمن الرحيم
السلام عليكم ورحمه الله تعالي وبركاته

كيف اقوم بضغط الصور في دلفي اي تصغير حجمها اذا كانت bmp/jpg


ضغط الصور في دلفي - محمد عبد العزيز - 10-12-2008


أن كانت الصور bmp يمكن تحويلها الى jpg للحصول على حجم اصغر
ان كانت الصور jpeg لن تستطيع ضغطها لانها اصلا مضغوطة
هناك منها ما يسمى jpeg2000 حيث تكون الخواريزمية احسن قليلا
والسلام عليكم



ضغط الصور في دلفي - galag8 - 11-12-2008

شكرا جزيلا


ضغط الصور في دلفي - galag8 - 15-01-2011

سلام عليك استاذ عبد العزيز اعود اليك بعد مده واجدد سؤالي اعمل علي برنامج لضغط الصور اذا كانت bmp ساقوم بتحويلها الي jpg اما اذا كانت jpg كيف اقوم بتحويلها الي jpg2000 الشرح اذا امكن بمثال مرفق وايضا بقيه الامتدادات مثال gif,png,


ضغط الصور في دلفي - محمد عبد العزيز - 15-01-2011

وعليكم السلام ورحمة الله

ابحث، هناك الكثير من الخيارات امامك

JPEG 2000 for Pascal
PHP كود :
code.google.com/p/pasjpeg2000 
معه مثال للاستخدام

ImageFileLib
PHP كود :
www.logicnet.dk/lib 

المزيد بصيغ مختلة
PHP كود :
torry.net/pages.php?id=107
efg2
.com/Lab/Library/Delphi/Graphics/FileFormatsAndConversion.htm 

بالتوفيق



ضغط الصور في دلفي - Lam.Abdeldjalil - 15-01-2011

السلام عليكم

إضافة Smile : بالنسبة لإصدارات دلفي 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;
بالتوفيق


ضغط الصور في دلفي - محمد عبد العزيز - 15-01-2011


مرحبا اخي عبد الجليل
إقتباس :jpg -> png / gif
التحويل من jpg الى png يزيد حجم الملف
التحويل الى gif يفقد الصورة دقتها
الصيغة gif لا تقبل اكثر من 256 لون

هناك ايضا الصيغة الجديدمن Google المسماة WebP
ربما لا يوجد مكون حتى الان لدلفي او Pascal يتعامل معها، تمرين جيد لمن لديه وقت



ضغط الصور في دلفي - Lam.Abdeldjalil - 15-01-2011

السلام عليكم

بارك الله فيك أستاذ عبد العزيز على المعلومات Smile
أعتذر لم أقرأ السؤال جيدا حسبته تحويل 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

والسلام عليكم


ضغط الصور في دلفي - galag8 - 01-02-2011

شكرا استاذ عبد العزيز وشكا استاذ عبد الجليل لكني اعمل علي دلفي 7 وهذا الكود لدلفي 2009


ضغط الصور في دلفي - kachwahed - 01-02-2011

مكون دلفي png الشهير، نسخة من torry
كود :
http://www.torry.net/vcl/graphics/otherformats/pngimage.zip
المزيد:
كود :
http://delphi.pjh2.de/articles/graphic/png.php