02-06-15, 02:51 PM
(آخر تعديل لهذه المشاركة : 02-06-15, 04:00 PM {2} بواسطة silverlight.)
السلام عليكم و رحمة الله و بركاته
في برامج الصور و كمثال برنامج Paint الموجود في الويندوز و عندما تفتح صورة معينة و تقوم بالتعديل عليها و عندما تحاول أن تحفظها تجد ان البرنامج أحيانا يبعث لك رسالة تقول أنك سوف تفقد الشفافية الموجودة بالصورة
في واقع الأمر قبل ذلك كنت أتاكد من شفافية الصورة باستخدام كودا مطولا و لكن و بعد قراءتي لهذا الموضوع Image GetFlags و الموضوع مكتوب بلغة C وجدت كود بسيط جدا نسطيع منه ان نتأكد من أن البكسل الموجودة في الصورة Image تدعم الشفافية أم لا
في الدوت نت الأمر يختلف قليلا عن لغة C حيث أن كل من الكلاس Bitmap و االكلاس Image كل منهم يمتلك Property إسمها Flags ومنها نسترجع مجموع ImageFlags Enumeration الموجودة في الصورة و واحد من هذه Flags اسمه ImageFlagsHasAlpha
و الدالة التالية توضح كيفية التاكد من كيفية أن البكسل الموجودة في الصورة تمتلك هذا Flag أم لا و هنا نحن نتأكد و ببساطة هل الصورة تدعم الشفافية أم لا ....... الدالة تسترجع قيمة عبارة عن Boolean
و يمكن استخدام الدالة كالأتي:
تعريف اي صورة ثم نمررها الي الداله لنتأكد من هل الصورة تدعم الشفافية أم لا
في المرفقات ستجدون مثالا لكيفية استخدام الدالة و المثال بنسخة الفيجوال استوديو 2012
تقبلوا تحياتي و بالتوفيق للجميع
في برامج الصور و كمثال برنامج Paint الموجود في الويندوز و عندما تفتح صورة معينة و تقوم بالتعديل عليها و عندما تحاول أن تحفظها تجد ان البرنامج أحيانا يبعث لك رسالة تقول أنك سوف تفقد الشفافية الموجودة بالصورة
في واقع الأمر قبل ذلك كنت أتاكد من شفافية الصورة باستخدام كودا مطولا و لكن و بعد قراءتي لهذا الموضوع Image GetFlags و الموضوع مكتوب بلغة C وجدت كود بسيط جدا نسطيع منه ان نتأكد من أن البكسل الموجودة في الصورة Image تدعم الشفافية أم لا
في الدوت نت الأمر يختلف قليلا عن لغة C حيث أن كل من الكلاس Bitmap و االكلاس Image كل منهم يمتلك Property إسمها Flags ومنها نسترجع مجموع ImageFlags Enumeration الموجودة في الصورة و واحد من هذه Flags اسمه ImageFlagsHasAlpha
و الدالة التالية توضح كيفية التاكد من كيفية أن البكسل الموجودة في الصورة تمتلك هذا Flag أم لا و هنا نحن نتأكد و ببساطة هل الصورة تدعم الشفافية أم لا ....... الدالة تسترجع قيمة عبارة عن Boolean
و يمكن استخدام الدالة كالأتي:
تعريف اي صورة ثم نمررها الي الداله لنتأكد من هل الصورة تدعم الشفافية أم لا
كود :
Public Shared Function IsHasAlpha(bmp As Bitmap) As Boolean
Return bmp IsNot Nothing AndAlso Not (bmp.Flags And Imaging.ImageFlags.HasAlpha) > Imaging.ImageFlags.None
End Function
كود :
If IsHasAlpha(bmp) Then
' Do something
Ent
في المرفقات ستجدون مثالا لكيفية استخدام الدالة و المثال بنسخة الفيجوال استوديو 2012
تقبلوا تحياتي و بالتوفيق للجميع