ورود

View Full Version : حجم فايل jpeg



zman123456
یک شنبه 26 مهر 1388, 14:25 عصر
با سلام
بايد كاهش دهنده حجم عكس بنويسيم ولي هر چي گشتم چيزي پيدا نكردم.
اكثرا compression‌هستن كه باعث كاهش كيفيت ميشه.
داستان رو در زير نوشتم كه اگه دوستان وقت نداشته باشن بخونند سريعتر به مطلب اصلي برسن.ولي داستان جالبيه بخونيد.
داستان:
قبلا يك برنامه نوشته بوديم كه برگه ها رو اسكن مي كرد و فايلي ذخيره مي كرديم.پروژه موفقي بود و به خاطر همين در بخشي ديگر اين كار رو در يك نرم افزار ديگر اجرايي كرديم.
حجم فايلها در برنامه قبلي حداكثر 300 كيلو ميشد.
ما از روي همون فكر قبلي كه اينم مثل همونه ديگه به حجم فايل ها كاري نداشتيم كه يكباره اتفاقي رفتيم سراغ حجم فايلها در برنامه جديد و ديديم كه 2m‌شده.:اشتباه::گیج::عصبانی++:
شك كرديم به اسكنر و دليل همون بود
اسكنر قبلي رو 2.500.000‌تومان خريده بوديم ولي جديده رو 430.000 تومان.
البته مجبور بوديم اين رو بخريم چون ديگه خريد اون اسكنر رو ممنوع كردن.
حالا فهميديم كه الكي پول نداديم.اون اسكنره حجم فايلهاي jpeg‌رو كاهش مي ده ولي اين يكي نه.
دوم اينكه اين اسكنر با سايز بالا اسكن مي كنه مثلا 1240*1630
من نمي دونم اينارو از كجا مياره.

دلفــي
یک شنبه 26 مهر 1388, 16:17 عصر
نیازی به نوشتن برنامه نیست شما می تونید از برنامه های مخصوص این کار استفاده کنید که یکی از بهترین نرم افزار ها در این مورد نرم افزار Picture Resize Genius می باشد :

از مهمترین ضروریات بیشتر عملیات گرافیکی تغییر اندازه تصاویر می باشد که خصوصاً در تبدیل تصاویر کوچک به بزرگ از اهمیت ویژه ای برخوردار می باشد. یکی از معایب این کار کاهش کیفیت تصویر نسبت به تصویر اصلی می باشد زیرا تغییر اندازه عکس در کیفیت آن نیز تاثیر دارد. نرم افزارهای مختلفی که به کمک آن ها می توان اقدام به ویرایش تصاویر نمود همگی دارای ابزاری برای تغییر اندازه می باشند که آنها نیز دارای این عیب هستند. برای رفع چنین مشکلاتی در تغییر اندازه تصاویر برنامه های مختلفی ساخته شده است که به کمک آن ها می توان بدون کاهش کیفیت تصاویر اقدام به تغییر اندازه فایل های تصویری نمود.
Picture Resize Genius نرم افزار کاملاً تخصصی تغییر اندازه تصاویر بدون تغییر در کیفیت عکس محصول شرکت lonking می باشد. با این نرم افزار می توان حجم عکس ها را بسیار پایین آورد بدون آنکه در کیفیت خروجی تصاویر تغییری انجام پذیرد. این قابلیت برای کسانی مفید خواد بود که دارای وب سایت هستند و می خواهند با قرار دادن تصاویر حجم پایین ولی کیفیت بالا، سرعت لود و بالا آمدن زمینه وب خود را بالا ببرند. با توجه به سرعت پایین اینترنت، ایمیل کردن تصاویر حجیم مشکل و وقت گیر است که آن را هم به کمک همین نرم افزار می توان تغییر اندازه داده و کم حجم کرده، به راحتی برای دوستان و آشنایان خود ارسال نمایید. توسط این برنامه قادر خواهید بود تا نوشته ها، لوگو و یا تصاویر خاصی را انتخاب کرده و بر روی تصاویر مد نظر خود بچسبانید. از ویژگی های این نرم افزار می توان به تبدیل فایل به فرمت های GIF ،JPG ،TIFF ،PNG ،BMP ،MIFF ،TGA، پشتیبانی بیش از 40 فرمت فایل تصویری، تغییر سایز فایل، Watermark كردن همزمان تعداد بی شماری فایل تصویری و ... اشاره نمود.
قابلیت های کلیدی نرم افزار Picture Resize Genius:
- قابلیت تغییر سایز همزمان تعداد بی شماری فایل تصویری
- قابلیت Watermark كردن همزمان تعداد بی شماری فایل تصویری
- امکان اضافه کردن متن و تغییر نام و ...
- قابلیت تعیین طول و عرض و بعد و ... تصاویر
- قابلیت حفظ تمامی اطلاعات و ویژگی های فایل تصویری قبل از تغییر مانند اطلاعات Tag و ....
- پشتیبانی بیش از 40 فرمت فایل تصویری
- قابلیت تبدیل فایل به فرمت های GIF ،JPG ،TIFF ،PNG ،BMP ،MIFF ،TGA
- سازگاری با ویندوز های 98/2000/XP/Vista

zman123456
یک شنبه 26 مهر 1388, 17:28 عصر
مرسي از معرفي برنامه خوبتون.
ولي من در داخل برنامه اين قابليت رو بايد ببينم كه بتونم فايل هاي با حجم كم توليد كنم و ذخيره كنم.
اگه قرار باشه فايل ذخيره بشه و بعدا يكي بياد هر از چند گاهي تعدادي فايل رو براي برنامه من كاهش حجم بده كه نميشه؟

دلفــي
دوشنبه 27 مهر 1388, 08:07 صبح
مرسي از معرفي برنامه خوبتون.
ولي من در داخل برنامه اين قابليت رو بايد ببينم كه بتونم فايل هاي با حجم كم توليد كنم و ذخيره كنم.
اگه قرار باشه فايل ذخيره بشه و بعدا يكي بياد هر از چند گاهي تعدادي فايل رو براي برنامه من كاهش حجم بده كه نميشه؟

برای کاهش حجم فایل تصویری در برنامه می تونید پس از بارگذاری تصویر در TJPEGImage
با استفاده از موارد زیر و مقداردهی مناسب حجم فایل خود را کاهش دهید :


کیفیت از 1 تا 100 TJPEGQualityRange
کارآیی TJPEGPerformance
اندازه TJPEGScale
فرمت از 8 تا 24 بیت TJPEGPixelFormat

----------------------------------------------------------------------------------------------------------------------------



JPGImage := TJPEGImage.Create;
try
JPGImage.Assign(Image1.Picture.Bitmap);
JPGImage.CompressionQuality := 100;
JPGImage.Compress;
JPGImage.Grayscale := True;
....

zman123456
دوشنبه 27 مهر 1388, 14:52 عصر
متشکر
من کد رو با این مقادیر میرم که تست کنم.


jpegimage.compressionquality:=100;
jpegimage.compress;
jpegimage.grayscale:=true;
jpegimage.pixelformat:=jf8bit;
jpegimage.scale:=jsfullsize;
jpegimage.performance:=jpbestspeed;

نظر شما چیه؟البته به نظر من یه مقداری به هم ریختگی داره.نه؟

دلفــي
دوشنبه 27 مهر 1388, 15:12 عصر
متشکر
من کد رو با این مقادیر میرم که تست کنم.


jpegimage.compressionquality:=100;
jpegimage.compress;
jpegimage.grayscale:=true;
jpegimage.pixelformat:=jf8bit;
jpegimage.scale:=jsfullsize;
jpegimage.performance:=jpbestspeed;

نظر شما چیه؟البته به نظر من یه مقداری به هم ریختگی داره.نه؟

اگه حجم پایین براتون مهمتر از کیفیت است می تونید مقدار
jpegimage.compressionquality:=100;
را کمتر هم بدهید .

zman123456
چهارشنبه 29 مهر 1388, 19:12 عصر
کیفیت هم مهمه.چون کاغذهایی که اسکن میشه همه مدارک هستند و مراجعه به آنها احتمال بالایی داره