وبلاگ فرهاد مرتضی پور

Farhad Mortezapour's Blog

وبلاگ فرهاد مرتضی پور

Farhad Mortezapour's Blog

ساختار فایلهای آیکون

آیکون‌ها از جمله پر کاربردترین انواع فایلها در کامپیوترهای امروزی هستند به شکلی که تمامی کاربران کامپیوتری با آنها آشنایی دارند. اما مشکل بزرگ برنامه‌نویسان، مخصوصا کسانی که با زبانهای قدیمی برنامه‌نویسی از جمله ویژوال بیسیک 6 کار می‌کنند، پشتیبانی نکردن زبان برنامه‌نویسی از انواع آیکون‌ها است. به عنوان مثال زبان برنامه‌نویسی ویژوال بیسیک 6 از آیکونهای 48*48 با عمق رنگ 32 بیت پشیبانی نمی‌کنند. در این قسمت ساختار این فایلها را بررسی کنیم.

هر فایل آیکون از سه قسمت تشکیل شده. که بترتیب عبارتند از:

1.       File Header

2.       Directory entry

3.       Icons Area

 

File Header

 فایل هدر اولین قسمت یک فایل آیکون است که 6 بایت را اشغال می‌کند. این قسمت بیانگر این است که چه تعداد آیکون در فایل وجود دارد و نوع فایل آیکون معمولی است یا کرسر ماوس.

 

نام

آدرس

نوع

توضیحات

Reserved

0h

Word

مقدار آن صفر است (رزرو شده)

Type

2h

Word

نوع فایل است. مقدار یک برای آیکون و دو برای کرسر ماوس است

Count

4h

Word

تعداد آیکون‌های درون فایل

 

Directory Entry

این فضا شامل اصلاعات آیکون‌های درون فایل از قبیل: طول،عرض، تعداد رنگ، عمق رنگ، اندازه و محل قرارگیری آن در فایل است. به ازاری مقدار  فیلد count درون هدر فایل، در این قسمت مدخلهای 16 بایتی وجود دارد. که هر مدخل خود شامل تعدادی فیلد است که آنها عبارتند از:

 

نام

نوع

اندازه

توضیحات

Width

Byte

1

عرض آیکون

Height

Byte

1

پهنای آیکون

Color Count

Byte

1

تعداد رنگهای آیکون. برای پیش از 16 رنگ مقدارش صفر است

Reserved

Byte

 

مقدارش صفر است

Plans

Word

 

تعداد پلنهای آیکون

BitCount

Word

 

عمق رنگ آیکون

Size

DWord

 

اندازه آیکون بر حسب بایت در فایل

offset

DWord

 

مکان شروع آیکون در فایل

 
عمق رنگ بیانگر این مساله است که به ازای هر چند بیت یک پیکسل در آیکون تعریف شده است به عنوان مثال اگر عمق رنگ برابر با 32 باشد یعنی هر 4 بایت یک پیکسل را توصیغ می‌کند که بیانگر همان حالت RGBA است. عمق رنگ می‌تواند مقادیر زیر را به خود بگیرد:

 

نوع آیکون

مقدار فیلد عمق رنگ

Mono  (تک رنگ)

1

شانزده رنگه

4

256 رنگه

8

16.8 میلیون رنگه

24

XP Alpha

32

 

فیلد Plans بیانگر تعداد صفحات آیکون است اگر مقدار این فیلد پیش از یک باشد آیکون متحرک خواهد بود که این مساله فقط در کرسرهای ماوس وجود دارد.

فیلد آفست مکان شروع آیکون را در فایل نگهداری می‌کند که شما با جمع بندی آن با فیلد Size می‌توانید به انتهای آیکون در فایل برسید

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد