delphi4arab منتديات دلفي للعرب

نسخة كاملة : ضغط الصور في دلفي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
بسم الله الرحمن الرحيم
السلام عليكم ورحمه الله تعالي وبركاته

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

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

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

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 

بالتوفيق
السلام عليكم

إضافة 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;
بالتوفيق

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

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

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

والسلام عليكم
شكرا استاذ عبد العزيز وشكا استاذ عبد الجليل لكني اعمل علي دلفي 7 وهذا الكود لدلفي 2009
مكون دلفي png الشهير، نسخة من torry
كود :
http://www.torry.net/vcl/graphics/otherformats/pngimage.zip
المزيد:
كود :
http://delphi.pjh2.de/articles/graphic/png.php
الصفحات : 1 2