ajlajlajl نوشته است:حالا شما برنامه ArtIcon Pro ( يا يه نرم افزاري كه امكانات ويرايش آيكون رو داشته باشه) دنلود ميكني. بعد اون دو تا رو باش باز ميكني و بعد فرقشون رو ميفهمي.
دقیقا...
علت اصلی مسئله اینجاست که شما اطلاعات کافی در مورد آیکن ها ندارید. چون این موضوع به برنامه نویسی مربوط نمی شه و باید کمی ساختار آیکن ها رو بشناسید. برای همین من ابتدا کمی توضیح در مورد ایکن ها براتون می دوم بعد می گم چطور می تونید همچین آیکن های با کیفیتی رو به برنامتون پیوند بزنید.
مسئله اول برای آیکن ها ابعاد اون هاست که در لیست زیر ابعاد استانداردی رو که می تونید داشته باشید رو می بینید.
16x16
32x32
48x48
64x64
72x72
92x92
128x128
256x256
به طور کلی شما حداقل برای یک آیکن می تونید اندازه 8 در 8 رو داشته باشید و در نهایت اندازه 256 در 256 پیکسل رو. اما در ویندوز XP خود سیستم عامل در نهایت از اندازه 48 در 48 هم استفاده می کنه و در عین حالی که یک آیکن می تونه سایز بزرگتر از اون رو هم داشته باشه اما به حال سیستم عامل فرقی نمی کنه چون به هر حال ایکن های بزرگ رو هم خودش به 32 در 32 یا 48 در 48 تبدیل می کنه.
ولی فقط ابعاد برامون مهم نیست و از ویندوز 2000 به این طرف بحث کیفیت (درجه رنگ Color Depth) هم برامون مهم می شه. در زیر لیست درجه رنگ های یک ایکن رو می بینید:
>
Monochrome سیاه و سفید
>
16 رنگ
>
256 رنگ
>
True Colors شامل محدوده همه رنگ ها بعلاوه دو رنگ خاص. یکی متد رنگ Screen یا همون شفافیت. یعنی نقطه ای که این متد رو داشته باشه در ایکن به جای نمایش نقطه پس زمینه نمایش پیدا می کنه.
و دومی متد رنگ Inverse که هر نقطه ای این رنگ رو داشته باشه به جای خود نقطه معکوس رنک پس زمینه دیده خواهد شد.
>
(XP (True Color +alpha همه رنگ ها بعلاوه خاصیت شفافیت تصویر برابر استاندارد RGBA. یعنی شما می تونید مثلا یک ایکن شیشه ای داشته باشید.
Monochrome رنگ که مشخصه یعنی یه ایکن دو رنگی سیاه و سفید. تو بسته ای گذاشتم یک ایکن با اسم Monochrome هست با همین مشخصات.
در مورد 16 رنگ ما فقط رنگ های زیر رو در آیکن می تونیم داشته باشیم:
(RGB(255,0,255
(RGB(0,0,255)
(RGB(0,255,255
(RGB(0,255,0
(RGB(255,255,0
(RGB(255,0,0
(RGB(128,0,128
(RGB(0,0,128
(RGB(0,128,128
(RGB(0,128,0
(RGB(128,128,0
(RGB(128,0,0
(RGB(0,0,0
(RGB(128,128,128
(RGB(192,192,192
(RGB(255,255,255
علاوه بر این طیف رنگ شما از ویندوز XP به بعد می تونید در ایکن های 16 رنگ از دو متد رنگ Scrren و Inverseهم استفاده کنید.
در بسته ای که گذاشتم طیف 16 رنگ رو در فایل Color16 می بینید.
اما اون 256 رنگ یعنی چی:
انتخاب رنگ ها در 256 رنگ بر اساس همون سیستم رنگ آمیزی درفایل های Gif هست (با کمی تفاوت). برای انتخاب رنگ ها در حالت 256 رنگ, 256 رنگ از پر استفاده ترین رنگ ها از درون خود تصویر انتخاب می شه. یعنی اینکه اگر شما از یک تصویر32 بیتی (با طیف رنگ کامل) بخواید یک ایکن 256 رنگی بسازید, ابتدا یک طیف رنگ 256 تایی از پراستفاده ترین رنگ های موجود در تصویرتون ایجاد میشه بعد بر اساس اون طیف رنگ حاصله ایکن مورد نظرتون ساخته میشه. توی بسته یک ایکن با اسم Color256 هست.
نکته دیگه اینکه از ویندوز 2000 به این طرف به طور رسمی از 256 رنگ استفاده می شه.
خوب هر دو ی True Color و کیفیت رنگ XP از شفافیت پشتیبانی می کنند اما فرق اساسی دارند. درون بسته ای که قرار دادم دو تا ایکن هست یکی ColorXP بر اساس استاندارد رنگ XP و دیگری TrueColor
اینجاست که فرق اساسی بین بین این دو نوع مشخص می شه. شما در ایکن XP سایه و حتی شیشه ای بودن تصویر رو می بینید اما در TrueColor حتی کیفیت افت زیادی داره. هر دوی این ایکن ها از یک تصویر ساخته شده اند و تصویرش رو هم در فایل FullImage.png می تونید ببینید.
مسئله مهم تر در مورد ایکن های کیفیت XP در مورد امکان ساخته شدن این نوع, از فایل های PNG هست. به همین دلیل در ویندوز VISTA به طور پیش فرض از همین استاندارد نمایش ایکن ها یعنی:
(Vista=XP (True Color +Alpha +PNG
استفاده می شه. تعداد زیادی از جلوه های تصویری که شما در ویندوز ویستا مشاهده می کنید در واقع همین تکنیک نمایش ایکن های PNG هستند. حتی در اغلب جاها درون ویندوز ویستا به جای خود آیکن حتی از فایل PNG مربوطه با ابعاد بزرگتر از 256 در 256 استفاده شده.
مسئله بعدی اینکه نسخه های یکی دو سال اخیز از برنامه های ویرایشگر ایکن ها به طور کامل از همه استاندارد ها پشتیبانی می کنند از Win95 تا WinVista.
خود من از برنامه Microangelo Toolset 6 استفاده می کنم. برای نمونه فایل MYIcon در بسته ای دریافت می کنید نمونه یکی از آیکن هایی که بر اساس استاندارد PNG برای یکی از برنامه هام طراحی کردم.
و اما جواب شما HosainVig
ما در زمان ایجاد ایکن برای هر سایزی می تونیم تصاویر مختلفی به کار بگیریم. مثلا فایل TestSize دربسته رو اگر نگاه کنی سه تصویر مختلف در سه اندازه 16 در 16 و 32 در 32 و 48 در 48 قرار دادم. شما کافیه برنامه ای برای ویرایش ایکن ها داشته باشید تا بتونید در هر سایز و در هر کیفیت رنگ تصویر (ایکن) مورد نظر خودتون رو قرار بدید همون طور که ajlajlajl گفت.
اما بریم بروی بحث برنامه نویسی موضوع.
VB6 به طور کلی از ایکن های با کیفیت رنگ TrueColor هم پشتیبانی می کنه اما ایکن های با کیفیت XP رو نه برای همین باید ایکن رو سوا به ریسورس برنامه اضافه کنید. در بسته ای که دریافت می کنید درون پوشه APP چگونگی این کار نشون داده شده که براتون شرح می دم:
شما باید ایکن خودتون رو به جای ایکن موجود در مسیر APP\MakeRes\App.ico قرار بدید بعد فایل APP\MakeRes\MAKERES.BAT رو باز کنید و مسیر "D:\Program Files\Microsoft Visual Studio\VB98\Wizards\RC.EXE" رو (که بر اساس آدرس روی سیستم من هست), به مسیر درستش روی سیستم خودتون تغییر بدید.
در نهایت فایل MAKERES.BAT رو اجرا کنید تا فایل ResM.res ساخته بشه و فایل ResM.res رو به عنوان یک ریسورس به پروژتون وارد کنید.
بعد از کامپایل پروژه شاهد خواهید بود که سیستم آیکن 32 بیتی مورد نظر شما رو نشون می ده.
اما این روش یک سری عیب هم داره مثلا ایکن خود فرم در درون تسک بار, در برنامه TaskManager و در حالت Alt+Tab به شکل مورد نظر شما تغییر نخواهد کرد. که برای انجام این تغییرات باید از برنامه vbAdvance استفاده کنید که علاوه بر این امکانات ابزار های دیگه ای هم داره که اگر مایل بودید در مورد این برنامه براتون توضیح خواهم داد. در ضمن خود vbAdvance رو آقای Iron_Fist به من معرفی کردند که همین جا ازشون تشکر می کنم.