سلام
برای درس پروژه دارم نرم افزار «مخفی سازی اطلاعات در بیتمپ» رو آماده می کنم.
مهم نیست که این نرم افزار بدرد میخوره یا نه چون در هر حال مدرس قبول کرده که این برنامه رو برای پروژه تحویل بدم.
کد اصلی برنامه حدود 500 خطه ولی وقتی میرم سراغ طراحی Interface حسابی گیر می کنم.
تو مرحله اول ازتون کمک میخوام تا پیغام های مناسبی برای خطاهای مختلف به زبان انگلیسی تهیه کنیم.
تو مرحله بعد برنامه رو آپلود می کنم تا رو ظاهرش کار کنیم.
فعلا این مشکلات رو دارم:
1ـ هندل فایل به دلیل عدم وجود یا در حال استفاده بودن فایل منفی یک شده.
2ـ حجم فایل ورودی بیش از 10MB است.
3ـ عکس انتخاب شده Bitmap 24-bit نمی باشد.
4ـ حجم داده ها بیشتر از ظرفیت تصویر است.
5ـ مسیر ورد شده صحیح نمی باشد.
پیغام ها حتما باید انگلیسی باشند.
با تشکر
اول چند تا سوال:
1- از چه زبانی میخواید استفاده کنید؟ اگه از vb.net یا c#.net استفاده کنید منم میتونم کمکتون کنم.وگرنه توی طراحی کمکتون میکنم.
2-با چه روشی از فایل میخونید؟
3- اگه عنوان پروژتون «مخفی سازی اطلاعات در بیتمپ» هست چکار با فرمت های دیگه دارید؟
در ضمن پیغام ها هم که مشکلی ندارند. ماشاا... اینجا همه استاد انگلیسیند.
و در ضمن. وقتی پروژه تموم شد اجازه میدید که برنامه با عنوان IranVig پخش بشه میدید؟
برای طراحی interface معمولا یک یری قوانین هست که باید رعایت کنین
بر اساس اهداف بخش این مقاله را با موضوع فوق دوباره ارسال می نمایم.
در اکثر موارد وقتی که کاربری برنامهای رو برای اولین بار اجرا میکنه٬ اگر به هر دلیلی رابط کاربر (User Interface) برنامه مورد پسندش قرار نگیره دیگه فرصت اجرای دوبارهای به برنامه نمیده و یک راست میره سراغ برنامهی مشابه دیگهای که رابط کاربرش راه دستش باشه و حق هم با کاربره. کاربر کاری به این نداره که برنامه شما چقدر توانایی داره و اون یکی چقدر٬ براش مهم اینه که با اون یکی برنامه زندگی براش راحتتره.
کاربر میخواد وظایفی رو به کمک برنامه سریعتر و بهتر انجام بده و در ذهنش هم الگوهایی برای انجام این وظایف داره. از طرفی برنامه هم طبق قوانین و اصول خودش دستورات رو میگیره تا وظایف خواسته شده رو به انجام برسونه. هر چقدر ما بتونیم تعابیر برنامه (Program Model) رو به تعابیر کاربر (User Model) نزدیکتر کنیم٬ رابط کاربر مناسبتری برای برنامه ایجاد کردیم.
برای این منظور کافیه که اصول ساده زیر رو در زمان طراحی رابط کاربر در نظر بگیریم:
سادگی
خیلی از کاربران از کار با کامپیوتر وحشت دارند. حتی بسیاری از کاربرانی که با کامپیوتر آشنایی کافی دارند٬ هنوز این وحشت رو هنگام کار با یک نرم افزار جدید تو خودشون احساس میکنند. هر چقدر رابط کاربر برنامه پیچیدهتر باشه٬ این وحشت بیشتره. علاوه بر این وقتی کاربری قصد استفاده از یک برنامه رو داره٬ هدفش اینه که کارش رو سریعتر راه بندازه نه اینکه مجبور بشه کلی چیزهای جدید یاد بگیره یا اینکه بره یک دوره آموزشی ببینه تا بتونه از برنامه استفاده کنه.
اقلام و عملکردهای اضافی رو حذف کنید.
هر چی اقلام روی صفحه بیشتر باشه یا منوها تو در تو و بزرگتر باشند٬ عملکرد برنامه پیچیدهتر به نظر میاد.
تعداد انتخابها (Options) رو کاهش بدید.
هر گزینهای رو که در برابر کاربر قرار میدید بابتش کاربر باید فکر کنه و راجبش تصمیم بگیره. این وظیفه طراح رابط کاربره که بهترین تصمیم رو بجای کاربر بگیره.
اقلام مرتبط به هم رو دسته بندی کنید.
با دسته بندی کردن اطلاعات کاربر راحتتر میتونه رابطه بین اقلام رو بفهمه. جدا از اینکه با دریافت مفهوم یک قلم٬ درک مفاهیم اقلام مرتبط به اون راحتتره. همچنین سعی کنید تا اونجا که امکان داره هر زمان فقط گوشهای از این اقلام رو به کاربر نشون بدید. برای این منظور استفاده از Page Control یا Tab Control بهترین انتخاب شماست.
جملات را ساده و کوتاه انتخاب کنید.
میدونیم که اکثریت کاربران دفترچه راهنما یا راهنمای آنلاین برنامه رو نمیخونند. البته بیشتر ما هم به همین دلیل این دو قلم رو از برنامههامون حذف میکنیم. جالبه بدونید که اکثر کاربران حتی پنجرههای پیام (Message Box) برنامه رو هم نمیخونند. پس سعی نکنید که پیامهای زیادی به کاربر نشون بدید و اگر واقعا لازمه که کاربر چیزی رو بدونه حتیالامکان جمله رو کوتاه کنید. هر چی جمله کوتاهتر باشه شانس اینکه کاربر بخوندش بیشتره. به همی دلیل حتی کلماتی مانند "لطفا" و "خواهشمند است" رو از پیامهاتون بردارید.
تشابه سازی
برای کاربر راحتترین چیز اینه که بدون فکر کردن و از روی عادت کاری رو که میخواد انجام بده. برای این منظور باید رابط کاربر رو جوری طراحی کرد که کاربر با استفاده از اون چیزهایی که تو دنیای واقعی ملکه ذهنش شده راه خودش رو به سادگی تو برنامه پیدا کنه.
به دستورات تصویری مناسب نسبت بدید که گویای عملکرد دستور باشه.
یک تصویر گویای هزار حرفه ولی بخاطر داشته باشید که نبود یک تصویر بهتر از بودن یک تصویر نامناسبه. قراره این تصویر راهنمای کاربر باشه نه باعث گمراهی اون.
از اقلامی استفاده کنید که خودشون انجام کاری رو از کاربر طلب میکنند.
به عنوان مثال یک دکمه فشاری (Puch Button) با اون ظاهر برجستهای که داره٬ داد میزنه که باید روی من فشار بدید.
سازگاری
هیچوقت فکر نکنید که برنامه شما اولین برنامهای هست که کاربر قراره تو زندگیش اجرا کنه. بطور حتم کاربر با برنامههای دیگهای هم آشنایی داره و انتظار داره اون چیزهایی رو که قبلا دیده و یاد گرفته تو این برنامه جدید هم قابل استفاده باشند. نوآوری چیز خوبیه ولی اولین هدف در طراحی یک رابط کاربر٬ آسودگی کاربره نه هنر و خلاقیتی که در پشت رابط کاربر نهفته شده.
رابط کاربر رو طبق استانداردهای موجود در سیستم عامل پیاده کنید.
کاربر انتظار داره همونجور که بقیه برنامهها رو کنترل میکنه٬ برنامه شما رو هم کنترل کنه. به عنوان نمونه در برنامههای ویندوز دکمه تایید همیشه پیش از دکمه انصراف قرار داره٬ پس برنامه ویندوز شما هم باید این اصل رو رعایت کنه.
با توجه به نوع برنامه٬ از برنامههای معروف و پرطرفدار دیگه الگوبرداری کنید.
به عنوان نمونه اگر قصد دارید یک ویرایشگر متن بنویسید٬ ببینید کلیدهای میانبر (Shurtcuts) روی مایکروسافت ورد چی تعریف شده و همونها رو استفاده کنید. درسته که ممکنه اشتباهاتی در رابط کاربر این برنامهها وجود داشته باشه٬ ولی در نظر بگیرید که میلیونها نفر دارند از این برنامهها استفاده میکنند و به رابط کاربر آنها عادت کردند. جدا از اینکه این شرکتها کلی پول و وقت بابت طراحی رابط کاربر برنامههاشون میگذارند و من و شما توان انجام اون رو نداریم.
دستیابی پذیری
همه کاربران نمیتونند از موش (Mouse) استفاده کنند. حالا میتونه دلیلش این باشه که کاربر کامپیوتر کیفی داره و به جای موش از Trackball یا Trackpad یا اون چیز کوچیکی که نمیدونم اسمش چیه و وسط صفحه کلید قرار داره استفاده میکنه٬ یا اینکه از آرتروز مچ رنج میبره یا اینکه دستش لرزش داره یا خلاصه هر ناتوانی دیگه. در هر صورت کاربر یا اصلا نمیتونه از موش استفاده کنه یا اینکه دقت لازم برای کنترل اون رو نداره.
محدودهای رو که کاربر روی اون میتونه با موش عمل کنه کوچیک انتخاب نکنید.
اینجوری حتی کسانی که یک موش خراب و بدون دقت دارند یا از ابزارهای کم دقت دیگه به جای موش استفاده میکنند٬ میتونند از قابلیت برنامه شما بهره ببرند.
برای هر عملی که با موش قابل اجرا هست٬ معادل صفحه کلید هم در نظر بگیرید.
بارها شده موشم خراب شده و برنامهای هم که باهاش کار داشتم به هیچ طریق با صفحه کلید راه نمیاومده. نتیجه اینکه برنامه نویس یا بهتره بگم طراح رابط کاربر برنامه رو مورد لعن و نفرین قرار دادم. البته اخیرا زرنگ شدم و یک موش یدکی هم دارم.
زیبایی٬ یکپارچگی و خوانایی
برخی از کاربران بینایی ضعیفی دارند که باید در زمان طراحی رابط کاربر مشکلات آنان را در نظر داشته باشید. همچنبن بطور متوسط نیمی از کاربران به زیبایی برنامه بیش از کارآیی برنامه اهمیت میدهند و نکته جالب اینکه عده معدودی از کاربران با دیدن برنامه شما سعی میکنند تا شخصیتی از شما در ذهن خود مجسم کنند. پس زیبایی را هم نباید فراموش کرد.
اقلامی که در عملکرد مشابه هستند باید یکسان دیده شوند.
مفاهیم مشابه با ظاهری متفاوت حاصلی جز گیج کردن کاربر ندارد. به عنوان نمونه اگر در تمام پنجرهها کلیدهای تایید و انصراف وجود داره٬ اندازه و محل قرار گیری آنها بر روی هر پنجره باید مشابه پنجره دیگه باشه. علاوه بر این باید عناوین هم مشابه باشه٬ نه اینکه یکجا از عناین "قبول" و "لغو" استفاده کنیم و در جای دیگه از "تایید" و "انصراف".
فاصله بین اقلام را یکدست و مناسب انتخاب کنید.
تو در تویی اقلام باعث ناخوانایی آنها میشود. فراموش نکنید که بعضی از کاربران دارای مشکلات بینایی هستند و ممکن است نتوانند اقلام نزدیک به هم را از هم تفکیک کنند. همچنین اولین چیزی که در پیش چشم یک فرد حساس به ترتیب ظاهر میشود فاصلههاست٬ حتی اگر تنها یک نقطه تفاوت فاصله وجود داشته باشد.
برای اقلامی که درون یک ظرف (Container) قرار میگیرند٬ با دیوارهی ظرف حاشیهای مناسب در نظر بگیرد.
این حاشیه باعث خواناتر شدن اقلام و همچنین زیباتر شدن محتوی میشود.
قلم نمایش را مناسب و یکسان انتخاب کنید.
مشکلات بینایی برخی کاربران ایجاب میکند که قلم نمایش (Font) را تا حد معقول بزرگ و خوانا انتخاب کنید. همچنین سعی کنید انتخاب خود را در همه جا یکسان نگهدارید. استفاده از قلمهای متفاوت برای یک منظور مثل این است که نامهای را با ترکیبی از مداد٬ خودکار٬ خودنویس و ماژیک بنویسید.
این مقاله مال اقای کامبیز خجسته هست برای طراحی interface در برنامه البته 2 تا مقاله دیگه هم دارم باید پیداشون کنم
تا اونجائی که یادمه مخفی سازی در فایل تصویری چندان سخت نیست. کافیه با فایل تصویری مثل فایل متنی برخورد کنی. به همین سادگی . البته یه نمونه داخل سایت قرار داره که به راحتی می تونی از اون استفاده کنی.
طراحی اینترفیس هم اگه با وی بی داری کار می کنی می تونم کمکت کنم. چه بهتر که از او سی ایکس های مختلف هم استفاده کنی.
سلام
حرفها و مقاله هاتون همه تازه بودن. از همتون ممنونم.
پروژه من چیز آنچنان عالی نیست و گفته بودم که آپلودش خواهم کرد.
از اونجایی که نمی شد فقط کد رو آپلود کنم، یه ظاهر ساده براش طراحی کردم که بدونید فلان تابع بازدن کدوم دکمه باید اجرا بشه.
الان فقط احساس می کنم روی پیغام ها و ظاهر برنامه باید کار بشه.
1ـ جاهایی که از MsgBox استفاده شده.
2ـ جاهایی که lblHint.Caption مقدارش عوض شده.
3ـ ظاهر برنامه.
با زبان VB6
سپاسگزارم
یه سوال. قضیه این Method ها چیه؟
lord_viper نوشته است:برای قرار دادن اصلاعات در درون عکس این مقاله حتما به دردتون میخوره
http://www.computernews.ir/article.aspx?...-8-1000271
Method یعنی شیوه یا همون روش کار
این مقاله رو بخونی متوجه Method میشی
تعیین می کنه که چند بیت از اطلاعات رونویسی بشن.
این هم یک مقاله دیگه از خودم (یه جورایی راهنمای نرم افزار هستش) البته قبلا نوشتمش ممکنه یکم ناهماهنگی توش باشه (گفتم ممکنه نگفتم که ...).
ajlajlajl نوشته است:اول چند تا سوال:
1- از چه زبانی میخواید استفاده کنید؟ اگه از vb.net یا c#.net استفاده کنید منم میتونم کمکتون کنم.وگرنه توی طراحی کمکتون میکنم.
2-با چه روشی از فایل میخونید؟
3- اگه عنوان پروژتون «مخفی سازی اطلاعات در بیتمپ» هست چکار با فرمت های دیگه دارید؟
در ضمن پیغام ها هم که مشکلی ندارند. ماشاا... اینجا همه استاد انگلیسیند.
و در ضمن. وقتی پروژه تموم شد اجازه میدید که برنامه با عنوان IranVig پخش بشه میدید؟
ببخشید امروز صبح به این پست پاسخ ندادم.
1ـ الان دیگه میدونید
2ـ قبلا عکس رو توی PictureBox میذاشتم و رنگها رو میخوندم؛ اما الان تمام فایل رو میخونم و از 54 بایت اول که مربوط به مشخصات عکس میشن میگذرم.
3ـ منظور این سؤالتون رو نمی فهمم. ولی برنامه هر فایلی رو میتونه بذاره تو عکس چون همه ی فایل ها فایل هستند.
mojtabamalaekeh نوشته است:3ـ عکس انتخاب شده Bitmap 24-bit نمی باشد.
3- منظورم اینه ^ .شما که اطلاعات انواع بیتمپ ها رو دارید. بر اساس عنوان پروژه نیازی به فرمت دیگه ای هم ندارید. پس مشکل چیه.
ولی واقعا حیف شد. اگه با VS.NET مینوشتین اصلا نیازی به خوندن مستقیم فایل نداشتید در ضمن این که با فرمت های png و tiff و اینا هم میتونستید کار کنید. مشکل حجم هم نداشتید.
خب حالا چکار کنیم.؟
لطفی که باید بکنید نمایش پیغام ها به زبان انگلیسی و با جمله بندی درست است.
البته پیام های مربوط به فرم های رمز عبور رو از MS Word تقلید کردم و مشکلی ندارند.