PDA

نسخه کامل مشاهده نسخه کامل : نمایش عکس 16 بیتی در سی++ تحت داس



Admiral
12-12-2006, 19:41
سلام

چطور میتونم در Tc تحت داس یک عکس 16 بیتی رو نمایش بدم؟!

ممنون

nasserdentist
16-12-2006, 00:27
سلام دوست من یه یه چیزی دارم می خواهی برات بفرستم

Admiral
16-12-2006, 18:45
سلام دوست من یه یه چیزی دارم می خواهی برات بفرستم

سلام

ممنون میشم.

someone
16-12-2006, 23:03
سلام.
در VESA mode میتونید اینکار رو انجام بدید.
که به طور ساده گسترش یافته ی SVGA و XVGA هست (referesh rate -> 70Hz )
از Win95 به بعد از VESA پشتیبانی میشه. (ٌWin95 DDK)
VESA -->> video electronic standards association
اگه مشکلی پیش اومد اطلاع بدین.

Admiral
17-12-2006, 11:46
خیلی ممنون someone جان

فقط اگه میشه یه کم در مورد نحوه نمایش عکس توضیح بده یا یه Sample ساده بزار.

ممنون

someone
17-12-2006, 13:21
دوباره سلام.
یادم رفت سوالی رو از شما بپرسم.
تا حالا یک تصویر 8bits ( یا با Bit Depth کمتر ) رو تحت DOS نمایش دادید؟
البته منظورم درمورد Bitmap هست.
ضمنا تصویر مورد نظرتون از چه Type ی هست؟ (bmp,jpg,gif......)
ممنون.

Admiral
17-12-2006, 13:43
سلام دوست عزیز


یادم رفت سوالی رو از شما بپرسم.
تا حالا یک تصویر 8bits ( یا با Bit Depth کمتر ) رو تحت DOS نمایش دادید؟

نه ! در این مورد تجربه ای ندارم.


ضمنا تصویر مورد نظرتون از چه Type ی هست؟ (bmp,jpg,gif......)
BMP و یا JPG

خیلی ممنون

someone
17-12-2006, 20:01
دوباره سلام.
یه نمونه کد براتون گذاشتم که bitmap های 8bit ی رو نمایش میده.
البته bitmap ها باید بدون compression باشند.(RLE)
روش کار به همین صورت هست.
میتونید از initgraph و putpixel هم استفاده کنید. (از وقفه در این برنامه استفاده شده )
فقط در مورد استفاده از تابع fskip باید بگم که برای رسیدن به offset مورد نظر در bitmap ازین تابع استفاده شده.
میتونید از fseek هم استفاده کنید. مثلا header یک فایل bitmap در offset 0 به اندازه ی 2bytes شامل حرفهای
'B' و 'M' هست و یا در offset 2 به طول 4bytes اندازه ی فایل bitmap مورد نظر هست.(مربوط به bitmap file header )
در offset 18 (مربوط به bitmap information header هست) به طول 4bytes اندازه ی عرض تصویر هست و
به همین ترتیب...
در مورد تصاویر با bit depth بیشتر نمیشه از VGA استفاده کرد. XVGA ویا VESA از این مد پشتیبانی میکنن.
comprssion تصاویر JPEG پیچیدگی زیادی داره و نوشتن برنامه ای تحت DOS بتونه این تصاویر رو نمایش
بده خیلی مشکل هست. (حتی درwindows مگه با #C یا MFC که کلاس های لازم رو برای اینکار داره.)
اگه براتون اهمیت زیادی نداره اول تصویر رو به Bitmap تبدلی کنید و بعد اون رو نمایش
بدید. در مورد تصاویر 16bits ی هم سعی میکنم یه نمونه کد برتون بذارم.
در هر کدوم از تصاویر با bit Depth های 1 - 4 - 8 - 16- 24 روش نمایش مقداری تفاوت داره البته در برنامه های تحت
DOS که اگه خواستید براتون نمونه اش رو بذارم.

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

اگه مشکلی پیش اومد اطلاع بدید.
ممنون.

Admiral
18-12-2006, 10:06
خیلی ممنون

امتحان می کنم و اگه مشکلی بود مطرح میکنم.

کد خیلی جالبی بود !

بازم ممنون دوست عزیز