PDA

View Full Version : کامپوننت ImageEn و مشکل compression با IETIFFHandler



nPad.Net
دوشنبه 17 آبان 1389, 11:53 صبح
سلام
میخوام با این کامپوننت یه فایل تصویر MultiPage به فرمت Tif رو Compress به گروه 4 یعنی CITT T.4کنم.
تو یکی از sample هاتحت نام tiffhandler دیدم که ازدستور زیر استفاده کرده بود:




private IETIFFHandler tags;


tags.Read(strimagePath);


for (int i = 0; i < tags.GetPagesCount(); i++)


{


tags.SetValueAsString(i, 259, IETagType.Short , "3");


}



tags.write(strOutAddr);




اما با این دستور compress به درستی انجام نمیشه یعنی1- حجم فایل من کاهش پیدا نمیکنه و2- تمام فریم های تصویرامو به رنگ سفید در آورده( اگر چه وقتی Properties فایلامو نگاه میکنم تو قسمت Compression اون به درستی کلمه CITT T.4 نوشته شده)
این Bug رو برا hicomponent هم فرستادم ولی متاسفانه جوابی نگرفتم.
ممنون از توجهتون

nPad.Net
سه شنبه 25 آبان 1389, 11:40 صبح
سلام به همگی
از یه راه دیگه استفاده کردم البته با توجه به تعداد زیاد فایل ها و سرعت اجرای برنامه مجبور شدم دو تا کامپوننت رو با هم استفاده کنم.
کامپوننت دومی که به کار بردم رو میتونید از اینجا (http://bitmiracle.com/libtiff/) دانلود کنید ( LibTiff.Net یه کامپوننت Free سورس هستش- به بزرگی خودتون ببخشید اگه net. ی هست البته دلفی کارا هم میتونن اون قسمتی که من استفاده کردم رو به کار ببرن چون utility .exe داره)


کامپوننت ImagEn یه دستور دیگه داره که واسه Compression کردن فایل های tif ارائه شده ولی اگه بخوایم برا فایل های MultiPage از اون استفاده کنیم page های فایلمون رو Merge میکنه:




IEImage img = newIEImage();
img.LoadImage(fileName);
img.IOParams.TIFF_Compression = IOParams.TIFFCompression.G4Fax;
img.SaveImage(PathSave);




برای رفع مشکل ادغام فریم های تصویرمون باید تک تک page ها رو جدا compress کرده و بعد از اون دوباره به tiff multipage تبدیلشون کنیم.
من برا جدا سازی و ادغام دوباره تصاویرم از برنامه exe که به همراه کامپوننت LibTiff.Net ارائه شده تحت نام TiffCP.exe استفاده کردم.
سوالی بود در خدمتتونم

موفق باشید