PDA

View Full Version : BGR



pixel59
چهارشنبه 31 مرداد 1386, 12:32 عصر
با سلام به دوستان

چرا بعضی از فیلتر های تصویری روی BGR کار می کنن نه RBG
و تفاوتشون چیه؟
و اینکه دستور زیر چه کاری داره انجام میده؟

protected override void OnPaint (PaintEventArgs e)
{
Graphics g = e.Graphics;

g.DrawImage(m_Bitmap, new Rectangle(this.AutoScrollPosition.X, this.AutoScrollPosition.Y, (int)(m_Bitmap.Width*Zoom), (int)(m_Bitmap.Height * Zoom)));
}

امیدوارم روزی مثل شمایی که جواب میدی سی شارپ را خوب یاد گرفته باشم و مشکلات دیگران را حل کنم.

PC2st
چهارشنبه 31 مرداد 1386, 12:58 عصر
و اینکه دستور زیر چه کاری داره انجام میده؟
این دستورات در داخل متد OnPaint اجرا میشوند، متد OnPaint هم override شده یعنی اینکه بجای متد OnPaint از کلاس والد، عمل میکنه.
خاصیت e.Graphics به شیئی اشاره میکنه که برای رسم اشکال و ... روی کنترل بکار میره. بعبارتی، توسط این خاصیت میشه روی کنترل اشکالی رو رسم کرد. که این شیئ رو در یک متغیر بنام g قرار داده است.
متد DrawImage هم کارش رسم یک تصویر Image است...
پارامتر اول: شیئ Image ای رو مشخص میکنه که میخوایم روی کنترل رسم کنیم (البته اون شیئ میتونه از نوع Bitmap هم باشه)
پارامتر دوم: چهارچوب یا مستطیلی رو مشخص میکنه که تصویر باید در آن محدوده رسم بشه.
this.AutoScrollPosition.X و this.AutoScrollPosition.Y موقعیت بالا و سمت چپ تصویر رو مشخص میکنند که تصویر در آن محل رسم میشه (مثلا gotoxy اما برای تصاویر). که this.AutoScrollPosition.X یا this.AutoScrollPosition.Y مقدار Scroll ای که روی فرم صورت گرفته رو مشخص میکنه (مثلا this.AutoScrollPosition.X یعنی اینکه مقدار اسکرول شده در جهت X)
m_Bitmap.Width و m_Bitmap.Height هم عرض و طول تصویری هستند که میخواد رسم بشه.
متغیر Zoom مشخص میکنه که عرض و طول تصویری که میخوایم رسم کنیم، چقدر تغییر پیدا کنه، مثلا اگر Zoom = 2 باشه، عرض و طول تصویر m_Bitmap رو به اندازه دو برابر روی شیئ g رسم میکنه. (یعنی همون Zoom کردن به اندازه دو برابر)
در نهایت مقادیر this.AutoScrollPosition.X و this.AutoScrollPosition.Y برای مشخص کردن مختصاتی است که تصویر در اونجا رسم بشه و توسط مقادیر m_Bitmap.Width*Zoom و m_Bitmap.Height*Zoom هم طول و عرض تصویر مشخص میشه که در اینصورت روی هم رفته، توسط متد DrawImage، تصویر رسم میشه.


چرا بعضی از فیلتر های تصویری روی BGR کار می کنن نه RBG
و تفاوتشون چیه؟
این رو نمیدونم، به نظرم فرقی ندارند، بهرحال امیدوارم کسانی که اطلاع دارند، دست به قلم شوند...؟