PDA

View Full Version : سوال: تشخیص LCD بودن مانیتور



mbshareat
پنج شنبه 23 آذر 1391, 02:10 صبح
سلام
نمی دونم تا حالا شده رنگهای رابط گرافیکی برنامه رو توی مانیتور CRT و LCD مقایسه کنید؟
من تو خونه مانیتور CRT دارم ظاهر یه برنامه رو با مانیتور CRT طراحی کردم. وقتی در محل کار می برم رنگهاش کمی فرق داره. انگار کنتراست رنگها عوض میشه (رنگهای روشن روشنتر و رنگهای تیره تیره تر میشن مثل محیط بازی!) و یک کم هم رنگها پخش و مات میشه.
آیا راهی هست که برنامه بتونه تشخیص بده مانیتور دستگاه چیه؟
کسی میتونه در مورد تفاوت نمایش رنگ در LCD و CRT اطلاعاتی بهم بده؟

Ananas
پنج شنبه 23 آذر 1391, 07:17 صبح
سلام اخوی.
یک بخشیش مربوط میشه به تنظیمات مانیتور یک بخشی هم به سخت افزار مانیتور و اصلا کار منطقی ای نیست که نرم افزار شما بیاد بر حسب نوع مانیتور رنگ خودشو تغییر بده. سیستم رنگ دو تا مانیتور وقتی متفاوت باشه این اشکال پیش میاد که باید هر دو رو تنظیم کنید. ولی یک سری نرم افزار ها مثل فوتوشاپ سیستم رنگ قابل تنظیم دارن. یعنی می تونید تعیین کنید از چه سیستم رنگی استفاده کنه. اگه خیلی براتون مهمه این کار رو انجام بدید. وگرنه به نظر من دستی مانیتور ها رو تنظیم رنگ کنید.
تنظیم رنگ مانیتور کارتخصصی هست که اکثر افراد انجام نمیدن و توجه هم به اختلاف رنگ ها ندارن و میشه گفت خیلی هم براشون مهم نیست. مثلا یک برنامه نویس براش چه فرقی داره کدش رو تو محیطی بنویسه که کنتراستش بالاتر یا پایین تر باشه (مگر اینکه کار گرافیکی انجام بده) ولی مثلا برای بنده که کار گرافیکی میکنم و کار رو میفرستم برای پرینت گرفتن، اختلاف رنگ خیلی مهمه (هر چند که خیلیا بلد نیستن این کار رو انجام بدن یا مثل من تو اینکار ناوارد). پس صبر کنید، به گیرنده های خود دست بزنید...:لبخند::لبخند: باید مانیتور تنظیم رنگ بشه و همچنین سیستم رنگ مناسب براش انتخاب بشه.
از قسمت control panel->color management تو قسمت device یک پروفایل پیش فرض رو انتخاب کنید به نام : sRGB IEC61966-2.1 یا همچین اسمی. اینطور که من شنیدم این سیستم نسبتا عمومیت بیشتری داره و من که چند مانیتوره کار میکنم ازش راضیم. بعد برید تو قسمت advanced و دکمه ی calibrate display رو بزنید و شروع کنید به طی مراحل و بهترین گزینه رو انتخاب کنید و سعی کنید تو نور محیطی این کار رو انجام بدید که قراره تو اون نور به مانیتور نگاه کنید. شما باید چشمی سعی کنید که بهترین حالت رو انتخاب کنید و رنگ خاکستری هم ممکنه نسبت به نور محیطی که توش قرار دارید فرق کنه (تو یکی از مراحل براتون r g b میگذاره تنظیمش کنید) و یا تو مانیتور های مختلف باز هم ممکنه که با تنظیم همه ی این موارد، اختلاف وجود داشته باشه که دیگه نسبت به قطعه ی فیزیکی هر مانیتور ممکنه فرق کنه. ولی معمولا با تنظیم sRGB IEC61966 و کالیبره کردن مانیتور، قسمت اعظم اختلاف برداشته میشه.(این کار رو روی تمام مانیتور هاتون انجام بدید.)
در ضمن brigtness و contrast مانیتور هاتون رو هم تنظیم کنید.
دقت کنید که حتی ممکنه که یک تصویر تو دو تا نرم افزار روی یک مانیتور، تو یک ویندوز، با رنگ های متفاوتی نمایش داده بشه و یا ذخیره بشه. مثل فوتوشاپ. که با تنظیم color profile مناسب برای ویندوز و نرم افزار ها ، این اختلاف برداشته میشه.
حالا اگه شما هم بخواید برای نرم افزارتون مثل فوتوشاپ قسمتی رو برای تعیین سیستم رنگ انتخاب کنید دیگه نمی دونم چه باید بکنید.:متفکر:

Ananas
پنج شنبه 23 آذر 1391, 07:56 صبح
شاید با تابع CMCreateProfile بشه. نمیدونم برای pascal تو کدوم یونیت هست ولی برای c++ داخل Wingdi.h . تو هلپ نوشته :
Windows NT/2000/XP/Vista: Included in Windows 2000 and later.
Windows 95/98/Me: Included in Windows 98 and later.
Header: Declared in Wingdi.h.
Library: Use Gdi32.lib.

mbshareat
پنج شنبه 23 آذر 1391, 14:17 عصر
جناب Ananas
از توضیحاتتون ممنونم. من به سیستم نهایی که برنامه توی اون اجرا میشه دسترسی ندارم. اما در هر صورت فکر می کنم شدت نور در LCD بیشتره.
احتمال میدم شما زیاد با CRT کار نکردید که به وضوح تفاوت رو ببینید. یکی از برنامه های محل کارم هست که رابط گرافیکیش توی خونه خیلی کدر و تیره هست اما سر کار که میرم رنگهاش قابل قبوله. وقتی با مانیتور CRT برنامه رو طراحی کنیم بعد توی LDC تماشا کنیم می بینیم خراب شدن مکان کامپوننتها در LCD (من هم هنگام برنامه نویسی با VB و دلفی چنین مشکلی داشتم) و ناواضح شدن بعضی نقاط تصویر (که شاید با تنظیم DPI بی ارتباط نباشه) عجیب نیست.
احتمال میدم تو همین سایت کدی برای تشخیص نوع مانیتور دیده باشم. ان شاء الله توی Google هم جستجو میدم.
اما راستش من نمی دونم تفاوت نور پردازی توی این دو مانیتور به چیه؟ میخوام با اعمال فیلتر تصویری مشکل رو تاحدی برطرف کنم.

Ananas
پنج شنبه 23 آذر 1391, 15:54 عصر
من به سیستم نهایی که برنامه توی اون اجرا میشه دسترسی ندارم.این مشکل شما نیست مشکل کاربره. اصلا شاید طرف می خواد تصویر مانیتورشو رو آبی ببینه چیکار داری؟ شاید می خواد کنتراستشو کم کنه چیکار داری؟ شما برنامتون رو اگه تو حالت استاندارد بنویسید دیگه مشکل از برنامه ی شما نیست.


اما در هر صورت فکر می کنم شدت نور در LCD بیشتره.
چند تا ال سی تو محل کارمون هست شدت نورهاشون با هم فرق داره یکیشون به آبی بنفش میزنه یکیشون به سبز زرد یکی براقه یکی ماته ... مانیتور داریم تا مانیتور. من از همون قدیمیام که میگی داشتم شدتش بیشتر ازین ال سی دیه بود مثل لامپ چشمو کور میکرد. اما اینکه وضوح و کیفیت ال سی دی بیشتره که خوب واضحه.

احتمال میدم شما زیاد با CRT کار نکردیدحاجی درسته سنمون کمه ولی اینقدر هم آک نیستیم. من خودم پای همون مانیتورها عینکی شدم.

مکان کامپوننتهاچیییییییییی!!!!!! چه ربطی داره به مانیتور؟ مانیتور فقط نمایش میده ،تصویر رو کارت گرافیک پردازش میکنه.


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

mbshareat
پنج شنبه 23 آذر 1391, 18:18 عصر
سلام حاجی
من تو خونه CRT (لامپ اشعه کاتدی!!!) دارم سر کار با چندتا مانیتور تست کردم رنگش متفاوته(انگار کنتراستش بالاست در حالی که امروز داشتم تو اینترنت در مورد CRT میخوندم گفته بودند کنتراست CRT بالاتره و Brightness مانیتور LCD بیشتر!)
جای کامپوننت روی فرم رو میشه با تعیین مکان توسط کد نویسی راست و ریست کرد که برنامم این مشکل رو هم داره اما رنگ مشکل اصلی منه که فکر کنم باید با اعمال پروسیجری مثل این درستش کرد(اصطلاحا به کاری که بدون استفاده از ماوس روی تصویر انجام میشه و رنگهاش رو تغییر میده فیلتر میگن .توی فتوشاپ هم هست!):

procedure Contrast(var clip: tbitmap; Amount: Integer);
var
p0:pbytearray;
rg,gg,bg,r,g,b,x,y: Integer;
begin
for y:=0 to clip.Height-1 do
begin
p0:=clip.scanline[y];
for x:=0 to clip.Width-1 do
begin
r:=p0[x*3];
g:=p0[x*3+1];
b:=p0[x*3+2];
rg:=(Abs(127-r)*Amount)div 255;
gg:=(Abs(127-g)*Amount)div 255;
bg:=(Abs(127-b)*Amount)div 255;
if r>127 then r:=r+rg else r:=r-rg;
if g>127 then g:=g+gg else g:=g-gg;
if b>127 then b:=b+bg else b:=b-bg;
p0[x*3]:=IntToByte(r);
p0[x*3+1]:=IntToByte(g);
p0[x*3+2]:=IntToByte(b);
end;
end;
end;

Ananas
پنج شنبه 23 آذر 1391, 20:39 عصر
سلام مجدد.
حاجی جون، اون همه اراجیفی که من نوشتم رو اصلا خوندید؟ نه... خوب خدا رو شکر. بالاخره هر کسی شیوه ای داره برای رفع مشکل من شاید از این راههایی که دارید میرید نتونم مشکلو حل کنم ولی شما احتمالا می تونی. انشاالله درست شه. مشتاق دونستن نتیجه هستم.

mbshareat
جمعه 24 آذر 1391, 09:04 صبح
استغفر الله
من بیانات شما رو خوندم اما تو اکس پی من چنین چیزی تو کنترل پنل نیست.
ببینید من میخوام برنام رو تو اینترنت بذارم. امیدوارم شما هم بردارید و در مورد رابط گرافیکی منو راهنمایی کنید. مسؤول بخش چند رسانه ای بهم گفت اگه رابط گرافیکی توسط کاربر قابل انتخاب باشه برای بچه ها جالبه .
در مورد تفاوت رنگها هم از چند جا تو اینترنت مطالبی خوندم ولی سر در گم شدم.
در مورد تشخیص نوع مانیتور هم جستجو دادم چیزی گیرم نیومد. به نظرم بهتره بحث رو مختومه اعلام کنیم.
از راهنمایی و شرکتتون در بحث کمال تشکر رو دارم.

Felony
جمعه 24 آذر 1391, 09:16 صبح
ببینید من میخوام برنام رو تو اینترنت بذارم. امیدوارم شما هم بردارید و در مورد رابط گرافیکی منو راهنمایی کنید.
این ها کتاب های مناسبی برای آشنایی با اصول طراحی رابط کاربری هستند :

Butow - User Interface Design for Mere Mortals
Galitz - Essential Guide to User Interface Design 3e
Developer to Designer - GUI Design for the Busy Develope