ورود

نسخه کامل مشاهده نسخه کامل : تبدیل به Jp2



dogtag
09-11-2008, 12:35
سلام.
من خیلی دنبال این هستم که سورس 1 برنامه تبدیل BMP یا JPG رو به JPEG200 یا به قولی JP2 پیدا کنم.
کار عجیبی نیست.
الان سورس تبدیل BMP به PNG و JPG رو دارم.
اگر میشه، 1 نفر برام به یه زبون ساده، پیداش کنه.
می خوام آخرش تبدیلش کنم به زبون Flash (یا به قولی ActionScript).
اگر مستقیماً فلشش رو پیدا کنید که دیگه خیلی عالی میشه.

مرسی
خیلی منتظرم.

_H2_
10-11-2008, 11:12
سلام
تبدیل تصاویر با فرمت های زیر به یکدیگر در دات نت با دو الی سه خط قابل انجام است.
(jpg-jpeg-jpe-bmp-dib-rle-emf-exif-gif-png-tiff-tif-wmf-(ico-cur

کد عمومی هم چنین خواهد بود:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

که مثلاً برای خروجی jpg چنین خواهد شد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و برای خروجی png چنین خواهد شد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در مورد Flash کلاً هیچ اطلاعی ندارم و اصلاً در عمرم با Flash کار نکرده ام.
موفق باشید.

dogtag
10-11-2008, 12:15
شرمنده فرمودید استاد.
ولی مشکل من هنوز هم پا برجاست.
من تبدیل به همه ی اونها رو می تونم داشته باشم، ولی jp2 رو...

من یه چیزی به اسم Jasper پیدا کردم ولی زیاد ازش سر در نمیارم!
(هنوز اونقدر ها تو ++C پیشرفت نکردم.)

اگر امکان داره، شما این رو برام به زبون ساده تر بنویسید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
(می دونم که درخواست بیش از اندازه ای ه. ولی ببخشید!)

_H2_
10-11-2008, 18:33
سلام
میبخشید اشتباه از من بود. یک سورس قدیمی ++vc داشتم که در نسخه 2005 به خوبی کامپایل و اجرا میشد، و این تبدیل را انجام میداد.
صبر کنید، پیدایش کنم.

dogtag
10-11-2008, 19:49
قربان 2 دستت.
فقط لطفاً 1 جوری باشه که بشه ازش سر در آورد.
این Jasper انفدر سخت نوشته شده که اصلاً نمیشه فهمید چی به چیه!

مرسی

_H2_
11-11-2008, 22:44
سلام
خبر خوب و کمی بد !
من کد نمونه را پیدا کنم و خوشبختانه به راحتی در VC++2008 موجود در VS2008 کامپایل و اجرا میشود (یعنی مشکل کدی و پروژه ای ندارد.)

یک exe و dll است، که در واقع به نظر میرسد کار اصلی توسط dll انجام میشود و exe فقط یک UI است.

1) اگر کدهای پروژه JpegLib را تغییر دهید، باید دستی کامپایلش کنید و lib خروجی را در پروژه J2kDemo کپی کنید

2) پروزه یک lib در حالت debug کم دارد، شما حتماً باید گزینه کامپایل را در VS روی Release تنظیم کنید.

3) نمونه کامپایل شده برنامه در پوشه Release-exe موجود است که میتوانید فایلهای jp2 را نمایش دهید و یا دیگر فایلها را به jp2 ذخیره کند.

البته راحت و سخت بودنش را دیگر باید خودتان ببینید.
cid-9b2bdd1b12ce8c7d.skydrive.live.com/self.aspx/H2FX.Net/VCpp-JP2.zip

dogtag
11-11-2008, 22:58
واقعاً ممنون.
رفتم که بگیرمش و ببینم چجوریه.

مرسی

dogtag
12-11-2008, 00:57
مخم پکید!!!!

استاد به دادم برس!

شما این رو نگاه کن:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

شما به گفته ی خودت، هیچی از فلش نمی دونی. درسته؟
ببین چقدر راحت از رو این می تونی بفهمی که چجوری می تونی یه BMP رو به PNG تبدیل کنی.

اینی که شما دادی، 1 برنامه ی کامل (+ منو هاش) ه که توش انواع تبدیل رو داره (که باعث میشه مخ آدم بپکه!)

می دونم که تا اینجاش هم به اندازه ی کافی زحمت دادم.
ولی شما یکی از این 3 لطف رو بکن:
1- یه مبدل تو مایه های همین کدی که من گذاشتم، پیدا کنید (به همین سادگی)
2- اگر از اون کد سر در میارید (که حتماً در میارید) و حالش رو دارید (که قطعاً ندارید!) لطف کنید، اون قسمت مربوط به jp2 ی اون رو به سادگی کد من در بیارید.
3- هیچی دیگه. این رو یه جور هایی throw exception گذاشتم که اگر با اون 2 تای بالا مشکل داشتید، با سومی بتونید از زیرش فرار کنید :دی


خیلی خیلی مرسی

_H2_
12-11-2008, 22:02
سلام
من هم خیلی وقت است ++VC کار نکرده ام و من هم کامل نمیتوانم کد را تحلیل کنم ولی به دستور شما نگاهی انداختم با یک نگاه مختصر مطلب مهم و مرکزی را متوجه شدم.

منابع مصرف هدر j2kdll.h را پیگیری کنید .... به متدهای LoadFrom و SaveAs میرسید ...
در واقع اصل کار توسط J2kDll.dll انجام میشود، طریقه استفاده اش هم در دو متد فوق مشخص و ساده است.
این dll جالب توجه میتواند bmp را به jp2 تبدیل کند و برعکس.

مثلاً با کپی کردن dll فوق در شاخه bin\Debug و یا bin\Release یک پروژه VB.Net (و یا C#.Net) و با کد ساده ای مثل این برنامه شما قادر خواهد بود تا با کمک این dll به هدف خود برسد. (تست کردم و جواب داد.)


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یعنی کد فوق را بعد از تعریف class بنویسید.
آنگاه با دستوری مثل این میتوانید فال ها را تبدیل کنید و کار هم خواهد کرد.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در واقع این برنامه هم همین کار را میکند،
برای نمایش jp2 آن را در یک فایل temp به bmp تبدیل میکند و bmp تازه ساخته شده را بارگذاری میکند و bmp را delete میکند.

برای ذخیره هم اول در یک فایل temp موقت bmp ذخیره میکند و سپس با dll تبدیل به jp2 میکند و نهایتاً bmp را حذف میکند.

فقط توجه داشته باشید که dll با مسیرهای یونیکدی (مثلاً پوشه ای با نام فارسی) مشکل دارد ولی شما میتوانید کارها را در سطح فایلهای موقت temp انجام دهید و نهایتاً خودتان عمل کپی را انجام دهید.

(شما میتوانید در هر زبان برنامه نویسی از این dll استفاده کنید)

dogtag
12-11-2008, 22:41
خیلی خیلی خیلی خیلی خیلی خیلی خیلی خیلی خیلی خیلی خیلی خیلی خیلی خیلی خیلی مرسی.
واقعاً شرمنده فرمودید.
بی خود که به شما نمی گن استاد.
واقعاً استادی رو به آخر رسوندید.
(دیگه نمی دونم چی بگم)

تازه داشتم مطلب راجع به Vector می خوندم که کم کم تحلیلش کنم.

باز هم ممنون.

_H2_
13-11-2008, 00:03
سلام

بی خود که به شما نمی گن استاد.
واقعاً استادی رو به آخر رسوندید.

!!!!!!!!!!!!!! :11::11::11:
کی میگه؟ مطمئن هستید اشتباه تایپی نبوده؟ :27:

مدتی قبل کمی از شرکت درپیت فعلی خسته شدم و برای استخدام در یک شرکت جدید نرم افزاری اقدام کردم، ولی مدرک تحصیلی برایشان مهم تر بود. :27:

موفق باشید.
:10: