.. (לתיקייה המכילה) | ||
למה לא ניתן לחבר שני ערכים מטיפוס colorref ? | |
הייצוג של הצבע בטיפוס colorref הוא כך: (מתוך https://docs.microsoft.com/en-us/windows/win32/gdi/colorref ) 0x00bbggrr כלומר 8 ביטים ראשונים מייצגים את ערכי האדום, 8 ביטים אחריהם את ערכי הירוק ו-8 ביטים אחרונים לכחול אם נסתכל על הצבע הירוק שהוא למשל 1 בביט הכי ימני בחלק של הצבע הירוק בערך של colorref וכן באותו אופן על הצבע הירוק שהוא למשל 1 בביט השני מימין בחלק של הצבע הירוק בערך של colorref ונרצה לערבב אותם עם t=0.5 (כלומר, בתצוגה בינארית – עושים shift right לכל הביטים) מבחינת מה שהיינו מצפים לקבל זה צבע ירוק אבל אם נתייחס לכל ערך colorref כמספר אז: המספר הראשון יהפוך להיות 1 בביט הכי שמאלי של החלק האדום בערך של colorref והמספר השני יהפוך להיות 1 בביט הכי ימני בחלק של הצבע הירוק בערך של colorref וכאשר נחבר את שני הערכים נקבל צבע שיש לו רכיב אדום ורכיב ירוק, כאשר עירבבנו שני צבעי ירוק וציפינו לקבל צבע ירוק. | |
קישור: Link: Ссылка: وصلة: | http://www.ucancode.net/faq/COLORREF.htm |